1. Java basic data types and their encapsulation classes
java Data types include basic data types and reference data types. In order to facilitate the processing of basic data types as objects, Java introduces encapsulation classes corresponding to basic data types. For example, the int encapsulation class is Integer.
Online teaching video sharing: java teaching video
2. java automatic unboxing and automatic packing
1. Automatic boxing
Autoboxing is actually converting basic data types into reference data types (objects)
2. Automatic unboxing
Automatic unboxing is actually converting reference data types into basic data types
The code is as follows:
public static void main(String[] args) { Integer a = 1;//这里就用到了自动装箱;等同于Integer a = new Integer(1); int b = a - 1;//对象不能直接进行计算,所以这里有自动拆箱的操作,将a对象转换成基本数据类型,然后-1 System.out.println(a); System.out.println(b); }
Print results:
1 0
3. The difference between int and Interger
From the above we can see the difference between int and Interger:
int is the basic data type, and Integer is the reference data type;
## The default value of #int is 0, and the default value of Integer is null; int type directly stores values, and Integer needs to instantiate the object and point to the address of the object. Speaking of this, do you think that’s it? In fact, there are some detailed differences between them: as followspublic static void main(String[] args) { Integer a = new Integer(1); Integer b = new Integer(1); int c = 1; int d = 1; Integer e = 1; Integer f = 1; Integer g = 130; Integer h = 130; Integer i = new Integer(130); int j = 130; }
The valueOf method of Integer is as follows:
public static Integer valueOf(int i) { //IntegerCache.low == -128 ;IntegerCache.high == 127 //当数值大于-128小于127时,进行缓存;否则重新new一个。 if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); }
The above is the detailed content of The difference between int and integer in java. For more information, please follow other related articles on the PHP Chinese website!