gpt4 book ai didi

java - 在IntelliJ中编译错误但在eclipse中没有

转载 作者:行者123 更新时间:2023-12-02 06:26:01 24 4
gpt4 key购买 nike

我从 Eclipse 切换到 IntelliJ IDEA,在 IntelliJ 中遇到编译错误,但在 Eclipse 中却没有。

public class TestClass<K, V extends Comparable<V>> {

private K key;
private V value;

public void someMethod() {
if (this.value instanceof String) {
String stringValue = (String) this.value;
// some code
}
}
}

(不要因为该代码而责怪我,它是遗留代码而不是我的)

在 eclipse 中一切正常,在 intellij 中它被标记为错误,表示“不可转换类型,无法将 V 转换为 java.lang.String”。

对于两者,我都使用标准 MacOS X JDK (1.6.0_65)。

它不仅适用于字符串,还适用于每种类型/类(我还有一些其他并发)

为什么我在 intellij 中遇到这些错误,但在 eclipse 中却没有?

最佳答案

Java 的 String 类是最终类,您的 this.value 无法继承它。您应该使用 .toString()String.valueOf() 来避免转换。

您看到这种现象是因为 Eclipse 编译器与 javac 不同(IntelliJ 中默认使用 javac,但您可以更改它)。 Eclipse 编译器更允许。请参阅this question了解更多信息。

关于java - 在IntelliJ中编译错误但在eclipse中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com