有没有一种好方法可以在java中取消null值,例如ruby:
x = null || "string"
我想做这样的事情。
String line = reader.readLine() || "";
防止传递空值。
答案 0 :(得分:12)
您可以使用Guava及其 方法(从Guava 21.0中删除):Objects.firstNonNull
String line = Objects.firstNonNull(reader.readLine(), "");
或针对此特定情况,Strings.nullToEmpty
:
String line = Strings.nullToEmpty(reader.readLine());
当然,如果你发现自己经常使用它们,那么这些都可以静态导入。
答案 1 :(得分:6)
不,Java中没有空安全语法。你应该手动完成。或者,您可以创建或使用commons-lang这样的实用程序:
String line = StringUtils.trimToEmpty(reader.readLine());
通过这种方式,您可以获得值,如果是null
答案 2 :(得分:1)
不是真的。您可以将readline()的结果赋值给temp变量,然后有条件地赋值:
String t = reader.readline();
String line = t == null ? "default" : t;
但这是你能做的最好的事情。
答案 3 :(得分:0)
readLine()
也可以返回null。当您需要使用String
时,您应该检查是否为空。