我有一個小的java文件給出如下。在cmd中編譯但在Netbeans中不存在錯誤
class abc{
public static void main(String args[]){
Object a= 9;
int b= (int)a;
System.out.print(b);
}
}
它給出錯誤,而在cmd中而不是在Netbeans的編譯。另外,當我用'(Integer)a'替換'(int)a'時,它會在cmd和Netbeans上編譯和運行。
class abc{
public static void main(String args[]){
Object a= 9;
int b= (Integer)a;
System.out.print(b);
}
}
這是什麼原因,我該如何解決這個問題?
編輯:顯示了在編譯第一個代碼是錯誤:
C:\Users\ANKIT.ANKITSHUBHAM-PC>javac abc.java
abc.java:4: inconvertible types
found : java.lang.Object
required: int
int b= (int)a;
^
1 error
編輯:這個問題是不是鑄造。這是關於爲什麼當我使用'(int)'將對象轉換爲int時,爲什麼cmd和Netbeans的行爲會有所不同,但使用'(Integer)'時轉換的行爲相同。
您可以請發佈錯誤。我認爲這是因爲NetBeans的行爲很明智,並直接糾正了你的錯誤。 – ctst
[如何將一個對象轉換爲一個int在java?](http://stackoverflow.com/questions/3661413/how-to-cast-an-object-to-an-int-in-java) 。前面的代碼僅在Java 7+中有效;我猜你的netbeans使用的是較老的編譯器。 –
@ctst我發佈了錯誤。 –