This question already has answers here:
Casting variables in Java
                                
                                    (5个答案)
                                
                        
                                2年前关闭。
            
                    
我在有效的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;
}


在这里,我无法获得((CaseInsensitiveString) o).s的特定行。现在,从这段代码中我了解到的是对象“ o”已被类型转换为CaseInsensitiveString Class。现在).s是什么意思。

最佳答案

CaseInsensitiveString具有类型为s的成员String

要访问该成员,您需要


使用Object oCaseInsensitiveString强制转换为((CaseInsensitiveString) o)
然后使用s访问字段((CaseInsensitiveString) o).s

关于java - 有效java示例中(((CaseInsensitiveString)o).s的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46955592/

10-12 01:44