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");
            }

查看结果: