このコードでは。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);
}
}
testFun
にヌル値を渡します。コンパイルは正常ですが、実行時にはnullPointerException
となります。
testFun
に渡される実際の引数の値が、あるプロセスから生成されたとします。誤ってnull値がそのプロセスによって返され、testFunに供給されると仮定します。そのような場合は、関数に渡された値がnullであるかどうかをどのように検証しますか?
1つの(奇妙な)解決策は、仮パラメータを関数内の変数に代入してテストすることです。しかし、関数に渡される変数がたくさんある場合、それは退屈で実行不能になる可能性があります。このようなシナリオでヌル値をチェックする方法は?
編集:誤って私は書いた|| |の代わりに| if条件で実行時例外が生成される
を編集を参照してください。 – Shades88
再コンパイルを忘れましたか? [それは私のために 'NullPointerException'を生成しません](http://ideone.com/pRrB3)。 – oldrinb