4

RubyのようにJavaでnull値をなくす良い方法はありますか?

x = null || "string"

私はこのようなことをしたいです。

String line = reader.readLine() || "";

null 値が渡されないようにします。

4

4 に答える 4

12

Guavaとそのメソッドを使用できますObjects.firstNonNull(Guava 21.0 から削除):

String line = Objects.firstNonNull(reader.readLine(), "");

または、この特定のケースでは、次のようになりStrings.nullToEmptyます。

String line = Strings.nullToEmpty(reader.readLine());

もちろん、それらを頻繁に使用している場合は、両方を静的にインポートできます。

于 2012-09-12T13:43:48.133 に答える
6

いいえ、Java には null セーフな構文はありません。手動で行う必要があります。または、commons-lang のようなユーティリティを作成または使用することもできます。

String line = StringUtils.trimToEmpty(reader.readLine());

そうすれば、値または "" のいずれかを取得できますnull

于 2012-09-12T13:43:06.207 に答える
1

あまり。readline() の結果を一時変数に代入し、条件付きで代入できます。

String t = reader.readline();
String line = t == null ? "default" : t;

しかし、それはあなたができる最善のことです。

于 2012-09-12T13:44:29.317 に答える
0

readLine()null を返すこともできます。を使用する必要がある場合は、null をチェックする必要がありますString

于 2012-09-12T13:43:36.677 に答える