Java中,数据类型总体可以分为两大类:基本数据类型(值类型)和类类型(数据引用类型)。
基本数据类型的数据不是对象,不能作为对象调用其toString(),getClass(),hashCode() ,equail()等等。
基本数据类型对应的包装类型:
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
所谓的装箱:就是把基本类型用他们相应的引用类型包起来,使他们具有对象的特质。如int封装成Integer等
所谓的拆箱:正好和装箱相反,就是把Integer的这种引用类型的对象重新简化为基本类型数据。
public class FengxiangDemo {
public static void main(String[] args) {
Integer integer = new Integer(10);
Integer integer2 = 10;// 自动装箱,Integer.valueOf(10)方法,此时i是地址值
int a = integer;// 自动拆箱,Integer.intValue()方法
Double double1 = new Double(3.14); // Double.valueOf(10);
Double double2 = 3.14; //Double.intValue();
double d = double1;
Integer i1 = 100;
Integer i2 = 100;
Integer i3 = 200;
Integer i4 = 200;
System.out.println(i1 == i2); //true -128<i<127 不去新建,i2直接指向i1,否则新建
System.out.println(i3 == i4); //false
Double d1 = 100.0;
Double d2 = 100.0;
Double d3 = 200.0;
Double d4 = 200.0;
System.out.println(d1 == d2);//f //每次都新建,因为double数量太多
System.out.println(d3 == d4);//f
Boolean b1 = true;
Boolean b2 = true;
Boolean b3 = false;
Boolean b4 = false;
System.out.println(b1 == b2);//true //数量少
System.out.println(b3 == b4);//true
}
}