先看一组String类型比较,废话不多说,直接上代码:输出结果:总结:结果a == b:程序在运行的时候会创建一个字符串缓冲池,在String a = “java书苑”时, “java书苑”被放到了字符串缓冲池中,当 String b = “java书苑” 创建字符串的时候,程序首先会在这个String缓冲池中寻找相同值的对象,所以在b被创建的时候,程序找到了具有相同值的a,将b 引用 a 所引用的对象。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。所有d调用的同样是a的对象。结果“c == c1”和“d != d1”这里可能有人会有疑问,为什么“d != d1”.我们一起看一下Integer的源码。

代码详解java里的“==”和“equels”区别

代码详解java里的“==”和“equels”区别

代码详解java里的“==”和“equels”区别