NullPointerException Möglichkeit in Integer.toString(arg) - Methode in java
Gibt es keine Möglichkeit, dass Integer.toString(args)
geben ein NullPointerException
wie String.valueOf(args)
.
Ich weiß, das ist Dumme Frage, aber ich möchte klarstellen, dass gibt es keine Möglichkeit, dass Integer.toString()
geben kann NullPointerException
.
- Ja,
if
args
istnull
. - Nicht,
args
ist der Typint
. - Es könnte ein
Integer
und auto-unboxing einesnull
ist eine NPE. - Vermutlich haben Sie Zugang zu einem java-compiler. Schreiben Sie eventuell einen kurzen test, um zu bestimmen, ob Integer.toString(null) wirft eine NullPointerException.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Technisch ja, aufgrund unboxing. Obwohl ich nicht sicher bin ob es das ist was du meintest:
toString
das werfen der Ausnahme.Integer.toString(args)
kann die Ursache der NPE. Das ist genau das, was ich zeigte.Die Antwort ist ja und Nein. Es hängt davon ab, wie man interpretiert, Ihre Frage stellen.
Ist es möglich, die expression
var.toString()
(oderInteger.toString(var)
) werfen einer NullPointerException?Ja.
Kann die Methode
Integer.toString()
(oderInteger.toString(int)
) immer werfen einer NullPointerException?Keine.
In
var.toString()
eine NullPointerException wird geworfen, wennvar
null ist. Aber die Ausnahme wird ausgelöst, indem Sie die aktuelle Methode, undtoString()
werden nicht genannt.In
Integer.toString(var)
eine NullPointerException wird geworfen, wennvar
null ist. Aber es ist nicht dietoString(int)
Methode, die es wirft. Wenn var ein Integer-Objekt, der Ausdruck ist die Kurzform fürund so offensichtlich, wenn
var
null ist, wird eine NullPointerException geworfen wird, durch die aktuelle Methode, und wederintValue()
nochtoString(int)
aufgerufen werden.So zu wiederholen,
toString()
undtoString(int)
sich nie NullPointerException werfen.Meinst du die statische Methode
toString(int i)
KlasseInteger
? Diese Methode wird nie werfenNullPointerException
- es gibt keineint
Wert, den Sie weitergeben können, dass jemals produzieren eineNullPointerException
.Integer.toString(args)
kann einNullPointerException
unwieString.valueOf(args)
.Siehe mein experiment hier : http://rextester.com/YRGGY86170
Integer#toString-Methode übernimmt keine Argumente und gibt nur im Bereich
value
.value
kann nie null sein, da Sie nicht übergeben Sie einen null -int
primitiv und ein null -String
wird einfach werfen einNumberFormatException
hierBEARBEITEN:
Ich nicht betrachten die toString-Methoden, die einen
int
, aber das Ergebnis wird dasselbe sein -int
kann nie null sein, so wird es keine NPE