In diesem Code.So überprüfen Sie den Nullwert in Java
public class Test {
public static void testFun(String str) {
if (str == null | str.length() == 0) {
System.out.println("String is empty");
} else {
System.out.println("String is not empty");
}
}
public static void main(String [] args) {
testFun(null);
}
}
Wir geben einen Nullwert an die Funktion testFun
. Kompiliert gut, aber gibt eine nullPointerException
in Laufzeit.
Angenommen, der Wert des tatsächlichen Arguments, das an testFun
übergeben wird, wird von einem Prozess generiert. Angenommen, ein Nullwert wird von diesem Prozess zurückgegeben und an testFun übergeben. Wenn dies der Fall ist, wie überprüft man, ob der an die Funktion übergebene Wert null ist oder nicht?
Eine (seltsame) Lösung kann sein, indem Sie den formalen Parameter einer Variablen innerhalb der Funktion zuweisen und sie dann testen. Wenn jedoch viele Variablen an die Funktion übergeben werden, kann dies mühsam und undurchführbar werden. Wie kann man dann in einem solchen Szenario nach Nullwerten suchen?
Edit: Aus Versehen schrieb ich || statt | in der if-Bedingung. Laufzeitausnahme wird jetzt generiert
bitte die Bearbeitung sehen. – Shades88
Haben Sie vergessen, neu zu kompilieren? [Es erzeugt keine 'NullPointerException' für mich] (http://ideone.com/pRrB3). – oldrinb