引用类型:
== 地址对比
equals 值对比
整数类型:
==就是值对比了
package com.mochunrong;
public class test{
public static void main(String[] args) {
String a="abc";
String b="abc";
String c=new String("abc");
String d="ab"+"c";
System.out.println(a==b);//true
System.out.println(b==c);//false
System.out.println(b==d);//true
System.out.println(a.equals(b));//true
System.out.println(a.equals(c));//true
System.out.println(a.equals(d));//true
}
}
有人会问什么a==b呢?
其实String默认有一个块内存,保存内容了。如果abc同样的内容便是同样的地址,只是指向了不同的变量被引用了而已。使用new出来的对象,在堆里面是另外一块内存地址了。结果为不一样。