我试图解决当我使用泛型时java给出的未经检查的类型转换警告。我四处搜索,我目前正在使用一种解决方法,但它似乎非常缓慢且效率低下。有什么好方法可以绕过警告吗?
我的原始代码:
Message<DataPoint> msg = (Message<DataPoint>) in.readObject();
km.points = msg.payload;
解决方法:
Message<?> msg = null;
Object obj = in.readObject();
if (obj instanceof Message) {
msg = (Message<?>) obj;
if (msg.payload instanceof ArrayList<?>) {
if (msg.payload.size() > 0) {
for (int i = 0; i < msg.payload.size(); i++) {
Object o = msg.payload.get(i);
if (o instanceof DataPoint) {
km.points.add((DataPoint)o);
}
}
}
}
}
答案 0 :(得分:0)
警告只是警告,不应该阻止你编译。如果您不希望出现警告,则可以使用以下方法注释该方法:
@SuppressWarnings("unchecked")