qri*_*kko 5 java variables null initialization
我在Java中有这个代码:
String foo = request.getParameter("bar");
if (foo == null) {
foo = "";
}
Run Code Online (Sandbox Code Playgroud)
以这种方式检查了多个值.在其他语言中,我可能会做这样的事情:
String foo = request.getParameter("bar") || "";
Run Code Online (Sandbox Code Playgroud)
我真的只是想知道Java中是否存在等价物.
如果您使用 java 8,您可能可以使用以下方法:
Optional.ofNullable(request.getParameter("bar")).orElse("")
Run Code Online (Sandbox Code Playgroud)
如果您不使用 java 8,则可以选择使用来自 Google Guava的Optional。它提供了类似的 API。例如。
Optional.fromNullable(request.getParameter("bar")).or("")
Run Code Online (Sandbox Code Playgroud)
这两者都允许指定一个函数来创建替代值。
如果你只是想老派,创建一个方法,如:
static String emptyIfNull(String value) {
if (value == null) return "";
else return value;
}
emptyIfNull(request.getParameter("bar"))
Run Code Online (Sandbox Code Playgroud)
String foo = request.getParameter("bar") !=null ? request.getParameter("bar") :"";
Run Code Online (Sandbox Code Playgroud)
或者如果你想要getParameter()两次打电话,你可以写
String foo = request.getParameter("bar");
foo = foo!=null? foo : "";
Run Code Online (Sandbox Code Playgroud)
这就是所谓的ternary operator or conditional operator (:?).