在这个问题What is the equivalent of the C++ Pair<L,R> in Java?中,我将在我的代码中使用此示例代码
public boolean equals(Object other) {
if (other instanceof Pair) {
Pair otherPair = (Pair) other;
return
(( this.first == otherPair.first ||
( this.first != null && otherPair.first != null &&
this.first.equals(otherPair.first))) &&
( this.second == otherPair.second ||
( this.second != null && otherPair.second != null &&
this.second.equals(otherPair.second))) );
}
return false;
}
Eclipse在“Pair otherPair =(Pair)other”行中警告我“对是原始类型。对泛型类型的引用应参数化”。我尝试将其重写为“配对&lt; A,B&gt; otherPair =(配对&lt; A,B&gt;)其他;”但警告仍在那里。如何正确输入其他以便不会出现警告?谢谢!
答案 0 :(得分:3)
您可以使用
Pair<?, ?> otherPair = (Pair<?, ?>)other;
由于equals使用Object,因此您不会遇到任何麻烦。在这个特定的代码中,类型参数是无关紧要的。