我在有效的Java中经历了“相等”方法的概念,然后在下面找到了以下代码:
@Override
public boolean equals(Object o) {
if (o instanceof CaseInsensitiveString)
return s.equalsIgnoreCase(((CaseInsensitiveString) o).s);
if (o instanceof String) // One-way interoperability!
return s.equalsIgnoreCase((String) o);
return false;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我无法获得特定的行((CaseInsensitiveString) o).s。现在,我从这段代码中了解到的是对象“ o”被类型转换为CaseInsensitiveStringClass。现在是什么).s意思。
您无法).s孤立阅读:
return s.equalsIgnoreCase(((CaseInsensitiveString) o).s);
Run Code Online (Sandbox Code Playgroud)
就好像:
CaseInsensitiveString c = (CaseInsensitiveString) o;
return s.equalsIgnoreCase(c.s);
Run Code Online (Sandbox Code Playgroud)
它只是从的实例访问字段CastInsensitiveString。
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |