 So one of the things that we can work with in Java is something called a primitive data type a primitive data type, and we've learned about these. These are my ints. These are my doubles These are floats bullions Char data types, we've got all these different data types But one of the things that we talk about is how everything in Java kind of eventually becomes an object Well, we can do the same thing with our primitive data types We can take this integer or this double or Boolean or char and we can actually create What is known as a wrapper class? It's a primitive wrapper class and what this allows for me to do is now Take this idea of a primitive data type something that has very little ones and zeros So 65 say I made an integer int x equals 65 again That's a very small, you know one zero zero zero zero zero zero zero one not a lot to that What I can do all of a sudden is I can say well actually let's Let's say that this is a class integer that Java already has built in its standard library standard Library we go through the same process we now say oh well it needs a constructor and We need to give it a parameter Constructor and again we have this for every single one of our primitive data types You can see I have again with my double and why we would want to do this is well There are a lot of things Associated with say an integer Let's say for example. I want to know the maximum value, you know, that's something in my code I need to make sure of because I don't want to do a buffer overflow So I need to cap off at you know 2.1 billion, you know, that's kind of important. Well, guess what? We have an integer dot max value Constant remember, that's what it means constant. I can't change this value. It's 2.1 billion Etc. Can't change it, but I know it now and I can actually Specify that I can also do some parsing I can actually say that there is an integer and I want to know, you know, what the value of a String is I can I want to convert this string String into An integer so I'm doing integer parsing. This is sort of no different than me saying int 3.14 the difference is now we're dealing with a String and so one of the things we can do is also we can kind of Mix them up so you can see that not only can I do, you know, the simple the easy what we've already done in life, which is Int x equals 50, you know, we've done that in the past and all right, that's perfectly fine We can do Suddenly, you know the same kind of thing we can make a double, but we can actually do simple math with it So all of a sudden this is okay. Mmm Because this gets inferred as a double It's inferred as a double Primitive data type and Java goes. Oh, well, hey, you're interacting with your Rapper class So I'm gonna turn you from lowercase b to an uppercase d I'm turning you from a primitive data type into the Class version and so again you can see we can do that We can make an array of integer the wrapper type and we can come in here and just say one two three And this is no different than me saying integer z equals New integer one new integer to new Integer that's a terrible three three