gpt4 book ai didi

Android Studio 中出现 Java 错误,但 Eclipse 中没有

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:01 25 4
gpt4 key购买 nike

我猜这是一个Java新手问题。代码如下

myClass.addEventListener( MY_EVENT, new EventHandler() {
@Override public void onEvent( String type, Object payload ) {
onEventHappens( (int) payload );
}
});

private void onEventHappens( int value ) {
// do something
}

在 Eclipse 中工作得很好(IDE 中没有警告或错误,执行正常),但 Android Studio 说

(int) payload

是一个错误; “不可转换的类型;无法将 'java.lang.Object' 转换为 'int'

谁是对的?我知道可能会有关于“糟糕的编码实践”的回应,但我真正的问题是两个开发环境如何/为什么以不同的方式对待 Java?

最佳答案

实际上,我更倾向于相信 Android Studio 是正确的。例如,对象可以是字符串,但它并不总是数字。因此编译器可能拒绝冒这个风险。这是逻辑。 Intelliji IDEA 给了我你的错误:http://i.gyazo.com/158c471d9eb5ab790cd44a0fc310b831.png

myClass.addEventListener( MY_EVENT, new EventHandler() {
@Override public void onEvent( String type, Object payload ) {
try {
onEventHappens( Integer.parseInt(payload) );
} catch (NumberFormatException nfe) {
System.out.println("Exception: " + nfe)
}
}
});

private void onEventHappens( int value ) {

}

想想看,我实际上很惊讶地发现 Eclipse 没有给您错误,因为它确实应该这样做。您可能不小心禁用了它。

关于Android Studio 中出现 Java 错误,但 Eclipse 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558839/

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