有没有像ruby一样在java中消除空值的好方法有:
x = null || "string"
我想做这样的事情。
String line = reader.readLine() || "";
防止传递空值。
有没有像ruby一样在java中消除空值的好方法有:
x = null || "string"
我想做这样的事情。
String line = reader.readLine() || "";
防止传递空值。
您可以使用Guava及其方法(从 Guava 21.0 中删除):Objects.firstNonNull
String line = Objects.firstNonNull(reader.readLine(), "");
或者对于这种特定情况,Strings.nullToEmpty
:
String line = Strings.nullToEmpty(reader.readLine());
当然,如果您发现自己经常使用它们,这两者都可以静态导入。
不,Java 中没有 null 安全语法。您应该手动进行。或者,您可以创建或使用诸如 commons-lang 之类的实用程序:
String line = StringUtils.trimToEmpty(reader.readLine());
这样你就可以得到值,或者“”,如果它是null
并不真地。您可以将 readline() 的结果分配给临时变量,然后有条件地分配它:
String t = reader.readline();
String line = t == null ? "default" : t;
但这是你能做的最好的事情。
readLine()
也可以返回 null。当您需要使用String
.