Java 字符串比较无效
Java String comparison is not working
public static void main(String[] args) {
String a = "Hi I AM ";
String a1 = "Hi I AM";
if (a1.equalsIgnoreCase(a)) {
System.out.println("equal");
} else {
System.out.println("not equal");
}
}
为什么上面的代码在控制台中显示不相等?
第一个字符串末尾多了一个space,所以不等于第二个字符串
它会显示"not equal",因为你在a
中添加了一个额外的space(不等于a1
)。
String a="Hi I AM "; // has extra space in the end(8 characters)
String a1="Hi I AM"; //this string has 7 characters
编辑:
在您编辑问题后它实际上工作正常。
最好使用 trim() 方法删除字符串前导和尾部不需要的空格。
public static void main(String[] args) {
String a="Hi I AM";
String a1="Hi I AM";
if(a1.equalsIgnoreCase(a.trim()))
{
System.out.println("equal");
}
else
{
System.out.println("not equal");
}
查看结果:
public static void main(String[] args) {
String a = "Hi I AM ";
String a1 = "Hi I AM";
if (a1.equalsIgnoreCase(a)) {
System.out.println("equal");
} else {
System.out.println("not equal");
}
}
为什么上面的代码在控制台中显示不相等?
第一个字符串末尾多了一个space,所以不等于第二个字符串
它会显示"not equal",因为你在a
中添加了一个额外的space(不等于a1
)。
String a="Hi I AM "; // has extra space in the end(8 characters)
String a1="Hi I AM"; //this string has 7 characters
编辑: 在您编辑问题后它实际上工作正常。
最好使用 trim() 方法删除字符串前导和尾部不需要的空格。
public static void main(String[] args) {
String a="Hi I AM";
String a1="Hi I AM";
if(a1.equalsIgnoreCase(a.trim()))
{
System.out.println("equal");
}
else
{
System.out.println("not equal");
}
查看结果: