我在Java中有这个代码:
String foo = request.getParameter("bar");
if (foo == null) {
foo = "";
}
以这种方式检查了多个值。在其他语言中,我可能会做这样的事情:
String foo = request.getParameter("bar") || "";
我真的只是想知道Java中是否存在等价物。
答案 0 :(得分:6)
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.android.support:multidex:1.0.1'
compile 'com.googlecode.linkedin-j:linkedin-j-core:1.0.416'
compile 'oauth.signpost:signpost-core:1.2.1.2'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.googlecode.json-simple:json-simple:1.1'
compile 'org.twitter4j:twitter4j-core:4.0.2'
compile files('libs/itsrts-pptviewer.jar')
compile files('libs/dropbox-android-sdk-1.6.3.jar')
compile 'com.joanzapata.pdfview:android-pdfview:1.0.1@jar'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
或者如果你想String foo = request.getParameter("bar") !=null ? request.getParameter("bar") :"";
两次打电话,你可以写
getParameter()
答案 1 :(得分:4)
如果你使用java 8,你可能会使用这样的东西:
Optional.ofNullable(request.getParameter("bar")).orElse("")
如果您不使用java 8,则可以选择使用Optional from Google Guava。哪个提供类似的API。对于前。
Optional.fromNullable(request.getParameter("bar")).or("")
这两个都允许指定一个函数来创建备用值。
如果您只想上老派,请创建一个方法:
static String emptyIfNull(String value) {
if (value == null) return "";
else return value;
}
emptyIfNull(request.getParameter("bar"))
答案 2 :(得分:2)
Apache Commons Lang有方法ObjectUtils::defaultIfNull
。您可以使用sᴜʀᴇsʜʜ的方法轻松地实现它:
public static <T> T defaultIfNull(T object, T defaultValue) {
return object == null ? defaultValue : object;
}
答案 3 :(得分:1)
我建议您使用Google MoreObjects.firstNonNull中的Guava以免通话 request.getParameter(“bar”)两次。
String foo = MoreObjects.firstNonNull(request.getParameter("bar"), "");