Integer a=1;
Integer变量指向的是 java 常量池中的对象
new Integer(1);
new Integer() 的变量指向堆中新建的对象,两者在内存中的地址不同。
int 变量与 Integer、 int 变量与new Integer() 比较时,只要两个的值是相等,则为true因为包装类Integer 和 基本数据类型int 比较时,java会自动拆包装为int ,然后进行比较,实际上就变为两个int变量的比较。
Integer a=1;
int b=1;
System.out.println(a==b);//true
Integer a=new Integer(1);
int b=1;
System.out.println(a==b);//true
当包装类与基本数据类型比较,会自动将包装类拆箱为基本数据类型
java1.5之后又自动装箱(autoboxing)和自动拆箱(autounboxing)功能
包装类还可以实现基本类型变量和字符串之间的转换(除了Character都有parse方法)
String a="123";
Integer.parseInt(a);
Short.parseShort(a);
Byte.parseByte(a);
Long.parseLong(a);
Float.parseFloat(a);
Double.parseDouble(a);
Boolean.parseBoolean(a);
String转Character数组
String str = "testString";
Character[] charObjectArray = str.chars().mapToObj(c -> (char)c).toArray(Character[]::new);
所有的包装类都可以转为String
Integer中还定义了表示整数的最大值和最小值的常量。