split
nullを返すことは可能String[]
ですか?不必要なチェックをせずに、コード内で可能な限り防御的になりたいので、興味があります。コードは次のとおりです。
String[] parts = myString.split("\\w");
parts
ポストスプリットを使用する前にヌルチェックを実行する必要がありますか?
split
nullを返すことは可能String[]
ですか?不必要なチェックをせずに、コード内で可能な限り防御的になりたいので、興味があります。コードは次のとおりです。
String[] parts = myString.split("\\w");
parts
ポストスプリットを使用する前にヌルチェックを実行する必要がありますか?
nullを返すことはありません。よくわからない場合は、メソッドのjavadocを常に確認する必要があります。たとえばString#split(String)
、
split
このメソッドは、2つの引数のメソッドを呼び出すかのように機能します
...そしてString#split(String,int)
言う:
式が入力のどの部分とも一致しない場合、結果の配列には1つの要素、つまりこの文字列のみが含まれます。
Javadocから、発生する可能性のある例外の種類、さらに重要なことに、それらの例外がスローされた理由を確認することもできます。また、チェックする非常に重要なことの1つは、クラスがスレッドセーフであるかどうかです。
APIが不明な場合は、Javaソースコードをダウンロードすることをお勧めします。ここにあるすべての答えは答えを示しているだけですが、実際に自分で確認する必要があります。ここからJavaソースコードをダウンロードできます(ページの下部近くをご覧ください)。
ソースコードに従うことで、最終的にはになりますString[] Pattern.split(CharSequence input, int limit)
。戻り値は、が呼び出されるnull以外から取得ArrayList
されます。nullを返しません:リストが空の場合、空の配列が返されます。toArray
toArray
つまり、最終的には、nullをチェックする必要はありません。
いいえ、パーツのヌルをチェックする必要はありません。
Splitメソッドは、メソッドの先頭でこれを行うPatter.splitメソッドを呼び出します。
ArrayList<String> matchList = new ArrayList<String>();
そして最後にmatchList.toArray()を実行して配列を返します。
したがって、nullをテストする必要はありません。