Java 未选中从一个字符串到另一个字符串的强制转换

Java 未选中从一个字符串到另一个字符串的强制转换,java,eclipse,Java,Eclipse,没有演员阵容的原始代码: ArrayList<String> elements = new ArrayList<String>(); for (ListTreeNode pos : positions) elements.add(pos.getElement()); Eclipse告诉我,如果我执行以下操作,则它是从一个字符串到另一个字符串的未经检查的强制转换: elements.add((String)pos.getElement()); 我将强制转换放在那

没有演员阵容的原始代码:

ArrayList<String> elements = new ArrayList<String>();
for (ListTreeNode pos : positions)
    elements.add(pos.getElement());
Eclipse告诉我,如果我执行以下操作,则它是从一个字符串到另一个字符串的未经检查的强制转换:

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

我将强制转换放在那里,因为在此之前它告诉我ArrayList中的addString方法不适用于String类型。我不明白?Eclipse认为有两种不同的字符串类型。例如,可以使用com.example.String。如果两者都是java.lang.String,那么Eclipse在某种程度上会有所区别,这非常有趣

Eclipse认为有两种不同的字符串类型。例如,可以使用com.example.String。如果两者都是java.lang.String,那么Eclipse在某种程度上会有所区别,这非常有趣

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

它们都是java.lang.String吗?这是eclipse抱怨的唯一方式。如果没有,请清理项目并查看它是否工作。

检查Eclipse项目是否包含多个JVM库。一个可能导致您看到的是两个项目A和B,其中B使用A,B的JVM设置与A的JVM设置不同。A使用B的字符串类与B使用的字符串类不同。同时检查启动程序设置。

检查Eclipse项目中是否包含多个JVM库。一个可能导致您看到的是两个项目A和B,其中B使用A,B的JVM设置与A的JVM设置不同。A使用B的字符串类与B使用的字符串类不同。同时检查您的启动器设置。

只需一个IT答案:

public class ListTree<String> {
你试过把它关掉和打开吗

我知道这看起来很愚蠢,但有时eclipse会感到厌倦,甚至在代码运行正常的情况下也会抛出错误。

这只是一个it答案:

你试过把它关掉和打开吗


我知道这看起来很愚蠢,但有时eclipse会感到厌倦并抛出错误,即使您的代码工作正常。

这似乎不正确。你能附上一个截图或者更好的是整个eclipse项目吗?我建议你清理一下你的项目。把它作为一个答案贴出来,然后接受它。以防万一,你知道,有人碰巧遇到了这个问题。这似乎不对。你能附上一个截图或者更好的是整个eclipse项目吗?我建议你清理一下你的项目。把它作为一个答案贴出来,然后接受它。以防万一,你知道,有人碰巧遇到了这个问题。这是如何解决问题的?这是如何解决问题的?eclipse不会抱怨,因为这两种类型都不兼容。java.lang.String是最终的,因此com.example.String不能扩展java.lang.String,反之亦然。好的一点,这样的强制转换应该会导致编译错误。如果两者都不是java.lang.String,那么这是可能的。eclipse不会抱怨,因为这两种类型都不兼容。java.lang.String是最终的,因此com.example.String不能扩展java.lang.String,反之亦然。好的一点,这样的强制转换应该会导致编译错误。如果两者都不是java.lang.String,那么这是可能的。
public class ListTree<String> {
public class ListTree {