java的工具类

public class test{  public static void main(String[] args){    Integer x = 400;    Integer y = x;    x++;    System.out.println(x == y);  }}
严谨的来说..==是比较的内存地址.当你创建两个变量对象并且赋值的时候.系统会为你在内存中开辟两块内存空间.他们的地址是不一样的..==就是比地址.当你new时.只要对象值不是null那么他们永远都是false..要比较值的使用.
可用用Object下的.equals(Object obj)方法进行值的比较.
====================
对当你没有进行++操作之前是x,y引用的是一块地址.但是当其中一个值发生变化的时候..系统会先检测这个地址的引用有那些.当有不只一个对象对他进行引用时.
会为改变值的对象重新开辟一个新的内存地址. 反而当只有一个对象引用这个地址的时候就直接修改这个地址的中的值.

猜你喜欢

转载自weitao1026.iteye.com/blog/2265896