为什么说判断相等不能用==呢?
因为JAVA中String并非基本数据类型而是一个类, 变量名实际代表地址,而不是像C++一样理解为字符数组
这个运算符只能够确定两个字符串是否放在同一个位置
这意味着,放在同一位置必然相等, 相等的字符串并不一定在同一位置!
也就是说用==判断两个内容相同的字符串可能返回false
那怎样判断字符串是否相等呢?
String有内置判断方法 equals()
JAVA中可以用String的equals()方法检测两个字符串是否相等,如下例
String a="123",b="123";
boolean c=a.equals(b);
若内容一样返回值就会是true否则是false
不止字符串变量, 字符串字面量也可以调用这个方法,如下:
扫描二维码关注公众号,回复:
3461630 查看本文章
String a="123";
boolean c="123".equals(a);
还有一个不区分大小写的判断相等方法:equalsIgnoreCase(str)
String a="abc";
boolean c="Abc".equalsIgnoreCase(a);
返回true