[英]Use of SQLite db with Eclipse(Java) and Android Studio
[英]Java error in Android Studio but not Eclipse
我猜這是一個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沒有給您錯誤,因為它確實應該給您。 您可能無意中禁用了它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.