比较字符串的相等性,还只比较String对象(硬类型检查)

时间:2014-10-01 14:18:17

标签: java

在重构过程中,我注意到任何事情(因为它继承自Object)都可以使用equals()方法进行比较,但我想调用的方法只有比较字符串,因为如果我比较不同类型的对象,这会让编译器阻止我。

Java中有任何内置方法可以做到这一点吗?

3 个答案:

答案 0 :(得分:1)

如果您需要返回boolean的内容,则可以编写自己的静态方法,该方法需要两个String个实例并在后台使用.compareTo().equals()。如果签名需要String s,编译器将强制执行它。

public static boolean compareStrings(String a, String b) {
    return a.equals(b);
}

如果NullPointerExceptiona,则会null,这可能是您想要的,也可能不是。{1}}这很容易进行检查。

答案 1 :(得分:1)

@Julio Rodrigues你可以使用方法contentEquals()

string1.contentEquals(string2)

它区分大小写,并且它的存在于String类中(不是从对象继承)。

答案 2 :(得分:0)

使用 FindBugs ,静态代码分析,非常简单; IDE插件,带有独立的GUI应用程序。这将标志着这些有问题的用途和其他用途。

这是一种更好的射击方法:可重复并找到几个问题。绝对有趣。