1. In different ways, the base type does not apply the new keyword, and the wrapper type needs to use the New keyword to allocate storage space in the heap;
2. Different storage methods and locations, the basic type is to store the value of the variable directly on the stack, and the wrapper type is to put the object in the heap, and then by reference to use;
3. Different initial values, the initial value of the base type, such as int is 0,boolean to false, and the initial value of the wrapper type is null
4. The usage is different, the basic type directly assigns the value directly to use is good, but the packing type is used in the collection such as collection, map.
| Basic type |
Wrapper type |
| Boolean |
Boolean |
| Char |
Character |
| Int |
Integer |
| Byte |
Byte |
| Short |
Short |
| Long |
Long |
| Float |
Float |
| Double |
Double |
Differences between Java basic data types and wrapper classes