在此代码:如何在重写java 1.4中的方法时避免“未使用的参数”警告?
public class MyClass {
private Object innerValue;
public Object getInnerValue() {
return this.innerValue;
}
public void setInnerValue(Object innerValue) {
this.innerValue = innerValue;
}
}
public class MyClassReadOnly extends MyClass {
MyClassReadOnly(MyClass cls) {
// Make a field by field copy
super.setInnerValue(cls.getInnerValue());
}
public void setInnerValue(Object innerValue) {
throw new UnsupportedOperationException(
"This is a read-only instance"
);
}
}
编译器正确地抱怨未使用的参数MyClassReadOnly.setInnerValue()(从未看过)innerValue。
我不想禁用这种警告,因为它通常非常有用,而且我也不想有任何警告要么具有较高的信噪比。
,因为它是Java 1.4中只有我不能使用@SuppressWarnings()结构的另一个问题建议。
我想过插入空这样的代码,但它不是很理想:
public void setInnerValue(Object innerValue) {
if (innerValue != null) { /* Do Nothing, but keep the compiler happy */ }
throw new UnsupportedOperationException("This is a read-only instance");
}
@ an0nym0usc0ward:对不起,我一开始没有提到警告是“innerValue is not read”。你的建议“innerValue = null”也不会读取参数。 – 2009-04-24 17:11:14