Java字符串比较不起作用

时间:2015-06-04 10:34:31

标签: java string-comparison

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

为什么上面的代码在控制台中显示不相等?

3 个答案:

答案 0 :(得分:2)

第一个String在末尾有一个额外的空格,所以它不等于第二个String。

答案 1 :(得分:0)

它会显示“不相等”,因为您在a中添加了一个额外的空格(不等于a1)。

String a="Hi I AM "; // has extra space in the end(8 characters)
String a1="Hi I AM"; //this string has 7 characters

编辑: 在你编辑问题之后,它实际上工作正常。

enter image description here

答案 2 :(得分:0)

最好使用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");
            }

查看结果:

enter image description here