String类型通过==来进行比较,比较的是地址值是否相同。
代码演示:
package test;public class Main {public static void main(String[] args) {String s1 = "WTY";String s2 = "WTY";String s3 = new String("WTY");System.out.println(s1 == s2);System.out.println(s1 == s3);}}
运行结果:
使用==作比较
- 基本类型: 比较的是数据值是否相同
- 引用类型:比较的是地址值是否相同
字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
- public boolean equals(Object anObject):将此字符串与指定对象进行比较。参数直接传递一个字符串。
代码演示:
package test;public class Main {public static void main(String[] args) {//构造方法的方式得到对象char[] a = {'a', 'b', 'c'};String s1 = new String(a);String s2 = new String(a);//直接复制的方式得到对象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));}}
运行结果:
