比较字符串类型
- 当使用 **==*时,比较的是String类型的地址值
byte[] a = {13, 65, 32};
String str1 = new String(a);
String str2 = new String(a);
System.out.println(str1==str2);//地址不相同。
String str3 = "abc";
String str4 ="abc";
System.out.println(str3==str4);//对于相同的"xxxx"可以共享地址
String str5 = "abc";
char[] b= {'a','b','c'};
String str6 = new String(b);
System.out.println(str5==str6);//false.
2.如果想要比较String类型的内容是否相同可以采用:
public boolean equals(Object obj)
String a = "day";
char[] b = {'d','a','y'};
String c = new String(b);
System.out.println("在使用equals比较内容相同的字符串时的结果为"+a.equals(c));//ture
**注意:**在比较常量和变量时,通常将常量写在前面,变量写在equals括号里面。
String d = "abc";
"abc".equals(d);//推荐,既前面常量后面变量的写法
d.equals("abc");//不推荐,因为当变量为null时,会空指针异常报错NullPointException
- 如果比较String类型时想忽略大小写:
equalsIgnoreCase(String str)
ps:只区分英文字母大小写。
String str = "Java";
String str2 = "java";
System.out.println(str.equalsIgnoreCase(str2));