定义一个String测试类:StringDemojava
public class StringDemo { public static void main(String[] args) { /* 构造方法的方式获得对象 */ //定义一个char数组 char[] c = {'a', 'b', 'c'}; //建立String对象 String s1 = new String(c); String s2 = new String(c); System.out.println(s1 == s2); /* 直接赋值的方式获得对象 */ String s3 = "abc"; String s4 = "abc"; System.out.println(s3 == s4); System.out.println(s1 == s3); } }
输出结果:数组
false
true
false测试
说明:因为new String()开辟了内存空间,因此s1==s2,比较的是s1和s2的地址值。s3和s4由于是直接赋值,因此s3==s4比较的是值。spa
注意:使用 == 作比较:code
对于基本数据类型:是比较值是否相等对象
对于引用数据类型:是比较地址值是否相等blog
字符串想要作值是否相等比较就要用equals()内存