绕过泛型类型转换警告

时间:2014-12-05 04:43:36

标签: java generics

我试图解决当我使用泛型时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);
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

警告只是警告,不应该阻止你编译。如果您不希望出现警告,则可以使用以下方法注释该方法:

@SuppressWarnings("unchecked")