Wie konvertiert Objekt zu long-Datentyp java
Ich habe dieser code gibt mir einen Fehler?
public int part(Object key) {
long clientId = (long) key;
...
}
Unten ist die Fehlermeldung:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
Nicht sicher, warum es eine Ausnahme auslöst.
java.lang.Integer
nicht umgewandelt werden, um java.lang.Long
.InformationsquelleAutor john | 2016-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits in den Kommentaren, in Java nicht zulassen casting von einer primitiven wrapper-Typ in einen anderen Typ von primitiven, selbst wenn die casting-erlaubt ist auf der primitiven sich.
Ihre exception-stacktrace ist zu zeigen, dass der key-parameter ist ein Integer Objekt. Wenn ja, dann nutzen Sie einfach Integer die Methode, die speziell für diese Art der Konvertierung:
Solltest du besser ganz sicher sein, dass der Schlüssel immer ein Number-Objekt und ist nicht null für diese zu arbeiten. Sie müssen möglicherweise auf null zu testen, bevor diese Methode aufgerufen wird.
InformationsquelleAutor
Können Sie nicht wirken
Integer
zuLong
, obwohl Sie umwandeln könnenint
zulong
. Dies würde für Sie arbeiten:NPE geworfen wird, wenn die ganze Zahl null ist. Ich lasse die Fehlerbehandlung Ihnen selbst überlassen. 🙂
Alternativ können Sie verwenden:
InformationsquelleAutor Justin L