String对象特点:
定义一个String测试类:StringDemo
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比较的是值。
注意:使用 == 做比较:
对于基本数据类型:是比较值是否相等
对于引用数据类型:是比较地址值是否相等
字符串想要做值是否相等比较就要用equals()