ホームページ >Java >&#&チュートリアル >Java で非 Null および非空の文字列を確実にチェックするにはどうすればよいですか?
非 Null および非空の文字列の評価
プログラミングでは、文字列入力の有効性を保証することが重要です。一般的なタスクには、文字列が null でも空でもないかどうかを確認することが含まれます。このシナリオを処理するためのさまざまなアプローチを検討してみましょう。
提供されたコード スニペットを検討してください:
public void doStuff(String str) { if (str != null && str != "") { /* handle empty string */ } /* ... */ }
これは直観的に見えますが、str が null の場合、潜在的なエラーが発生します。 Java では、== を使用して文字列と空の文字列を比較すると、str が null の場合は false と評価されます。これにより、str の空性をチェックする際に、意図しない null ポインタ例外が発生する可能性があります。
isEmpty() メソッドの使用
より安全なアプローチには、利用可能な Java の isEmpty() メソッドを利用することが含まれます。 Java SE 1.6 以降:
if(str != null && !str.isEmpty())
この式により、次のことが保証されます。 str は null ではなく、少なくとも 1 つの非空白文字を含みます。 && 演算子を使用すると、評価が短縮され、str が null の場合の null ポインター例外が回避されます。
ホワイトスペースの考慮
文字列をチェックする必要がある場合は、空白文字が含まれていない場合は、trim() メソッドを使用できます:
if(str != null && !str.trim().isEmpty())
この式先頭と末尾の空白文字を削除し、空かどうかをチェックします。あるいは、Java 11 では、同じ機能を実現する isBlank() メソッドを導入しています。
if(str != null && !str.isBlank())
簡潔な関数アプローチ
簡潔な解決策として、ユーティリティ関数を使用できます。定義する:
public static boolean empty( final String s ) { // Null-safe, short-circuit evaluation. return s == null || s.trim().isEmpty(); }
この関数は次のように利用できます。
if( !empty( str ) )
これらのメソッドを採用することで、開発者は文字列が null でなく、空白文字以外の文字が含まれているかどうかを効果的に確認でき、コードの堅牢性と精度が向上します。
以上がJava で非 Null および非空の文字列を確実にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。