学习了java的封装类和基本数据类型,以及自动拆箱和装箱,有一个很有意思的知识点需要记录:
例如:
Integer y = 121;
Integer x = 121;
System.out.println(y==x)
y++;
x++;
System.out.println(y==x)
输出结果依次为true和false
因为在y++这一步中实际上执行了三步:
int a=y.intValue();
a=a+1;
Integer y=new Integer(a);
可以看到,y作为一个引用类型的对象,其指向的地址已经发生了变化,所以结果为false