取消选中从String转换为String

时间:2010-09-08 01:25:06

标签: java eclipse

没有演员表的原始代码:

ArrayList<String> elements = new ArrayList<String>();
for (ListTreeNode pos : positions)
    elements.add(pos.getElement());

在ListTreeNode中:

public String getElement() {
    return element;
}

Eclipse告诉我,如果我这样做,它是从String到String的未经检查的强制转换:

elements.add((String)pos.getElement());

我把演员放在那里,因为在那之前它告诉我,ArrayList中的方法add(String)不适用于类型(String)。我不明白吗?

5 个答案:

答案 0 :(得分:3)

Eclipse认为有两种不同的String类型。例如,可以有一个com.example.String。如果两者都是java.lang.String并且Eclipse以某种方式进行区分,则非常有趣。

答案 1 :(得分:0)

他们都是java.lang.String吗?这只是日食会抱怨的方式。如果没有,请清理项目并查看它是否有效。

答案 2 :(得分:0)

检查Eclipse项目是否有多个JVM库包含。一个可以导致你看到的是两个项目A和B的例子,其中B使用A而B的JVM设置不同于A的JVM设置.A使用B的String类与B的String类不同使用。检查您的启动器设置。

答案 3 :(得分:0)

只是一个IT回答:

您是否尝试过将其关闭?

我知道它看起来很愚蠢,但有时eclipse会“累”并且即使你的代码运行完美也会引发错误。

答案 4 :(得分:-5)

public class ListTree<String> {

这就是答案。

为了澄清,我删除了泛型类型说明符。这导致了这个问题。代码现在看起来像:

public class ListTree {