为什么我们有equals()和equalsIgnoreCase()作为两种不同的方法,什么时候equals()可以重载一个特殊的ignoreCase参数来提供equalsIgnoreCase()功能?
Pét*_*rök 18
该方法equals()是继承的Object,因此不应更改其签名.equals()通常可以在不实际知道对象的具体类的情况下使用,例如在迭代对象集合时(特别是在Java 5泛型之前).那么你甚至不会看到另一个equals()没有向下倾斜你的对象String.
这是来自Java创建者的设计选择,使得equals()对所有对象使用完全相同的方式成语.
此外,IMO
if (string1.equalsIgnoreCase(string2)) ...
Run Code Online (Sandbox Code Playgroud)
更具可读性,因此不易出错
if (string1.equals(string2, true)) ...
Run Code Online (Sandbox Code Playgroud)
当然,在您自己的课程中,您可以自由添加equals()不同的签名(在标准之上equals(),即).
equalIgnoreCase()用于忽略我们的Case敏感String.但这equals()只是回归true,而同样的情况string
当然,
String value="java";
if(value.equals("JAva")
{
System.out.println("Return True");
}
else
{
System.out.println("Return False");
}
Run Code Online (Sandbox Code Playgroud)
答:退货 False
但另一个是,
if(value.equalIgnoreCase("JAva")
{
System.out.println("Return True");
}
else
{
System.out.println("Return False");
}
Run Code Online (Sandbox Code Playgroud)
答:退货 True
| 归档时间: |
|
| 查看次数: |
17717 次 |
| 最近记录: |