下面的两个String比较方法是否被认为是相等的

public class TestString {
    public static final String CONSTVAL="foo";

    public boolean testString1(String testVal) {
        return testVal.equalsIgnoreCase(CONSTVAL);
    }

    public boolean testString2(String testVal) {
        return CONSTVAL.equalsIgnoreCase(testVal);
    }
}

还是应该赞成一种比较?

最佳答案

您应该在常量上调用equals,因为当testVal为null时,它避免了NullPointerException的风险。

public boolean testString2(String testVal) {
    return CONSTVAL.equalsIgnoreCase(testVal);
}

关于java - Java中的字符串比较顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3641474/

10-10 12:49