Mam mały plik java podany poniżej.Błąd podczas kompilowania w cmd, ale nie w Netbeans
class abc{
public static void main(String args[]){
Object a= 9;
int b= (int)a;
System.out.print(b);
}
}
Daje błąd podczas kompilacji w cmd, ale nie w Netbeans. Ponadto, gdy zastępuję "(int) a" with "(Integer) a", kompiluje i działa poprawnie na obu cmd i Netbeans.
class abc{
public static void main(String args[]){
Object a= 9;
int b= (Integer)a;
System.out.print(b);
}
}
Jaki jest tego powód i jak mogę to naprawić?
EDIT: Błąd, który pojawia się podczas kompilacji pierwszy kod to:
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
EDIT: To pytanie nie jest o odlewu. Chodzi o to, dlaczego cmd i Netbeans zachowują się inaczej, gdy rzutuję obiekt na int używając "(int)", ale zachowuję się w taki sam sposób, gdy rzutuje się na "(Integer)".
Czy możesz opublikować błąd. Myślę, że to dlatego, że NetBeans działa inteligentnie i bezpośrednio koryguje twój błąd. – ctst
Możliwy duplikat [Jak przesłać obiekt do int w java?] (Http://stackoverflow.com/questions/3661413/how-to-cast-an-object-to-an-int-in-java) . Poprzedni kod jest ważny tylko w języku Java 7+; Zgaduję, że twoje netbeans używa starszego kompilatora. –
@ctst Wysłałem błąd. –