字符串的比较
1.基本数据类型比较的是数据值
int a = 10,b = 20;
System.out.println(a == b); //false
2.引用数据类型比较的是地址值
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); //false
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2); //true
因为二者赋的值都是地址值,存在于串池中
String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1 == s2); //false
因为地址的不同,s1的“abc”存在于堆中,s2的“abc”存在于串池中
3.比较方法
boolean equals(要比较的字符串)
完全一样结果才为true,否则为false
String s1 = new String("abc");
String s2 = "abc"; // "Abc",结果为false
boolean flag = s1.equals(s2);
System.out.println(flag); //true
boolean equalsIgnoreCase(要比较的字符串)
忽略大小写的比较
String s1 = new String("abc");
String s2 = "Abc";
boolean flag1 = s1.equalsIgnoreCase(s2);
System.out.println(flag1); //true