使用 == 比较
- 基本类型:比较的是数据值是否相同
- 引用类型:比较的是地址值是否相同
什么是基本类型和引用类型呢?
请看JAVA入门之基本数据类型 笔记(3)
使用equals()方法比较
字符串是对象,他比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于我们比较的是字符串对象,使用参数直接传递一个字符串
案例演示
package STRING;
public class StringDemo {
public static void main(String[] args) {
//构造方法的方式得到对象
char[] chs = {'a', 'b', 'c'};
String s1 = new String(chs);
String s2 = new String(chs);
//直接赋值的方法得到对象
String s3 = "abc";
String s4 = "abc";
//比较字符串对象的地址是否相同
System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s3 == s4);
System.out.println("------------------");
//比较字符串内容是否相同
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println(s3.equals(s4));
}
}
可见s1和s2的地址值不同, s1和s3的地址值不同, s3和s4的地址值相同
而且s1、s2、s3、s4的内容完全一样