Is there a way to automatically initialize a variable if null

I have this code in Java:

String foo = request.getParameter("bar");
if (foo == null) { 
    foo = ""; 
}

Several values ​​are checked here. In other languages, I can probably do something like this:

String foo = request.getParameter("bar") || "";

I was just wondering if there is an equivalent in Java.

+4
source share
4 answers
String foo = request.getParameter("bar") !=null ? request.getParameter("bar") :""; 

or if you call a call twice getParameter(), you can write

String foo = request.getParameter("bar");
foo = foo!=null? foo : "";

This is called ternary operator or conditional operator (:?).

+6
source

If you are using java 8, you can probably go something like this:

Optional.ofNullable(request.getParameter("bar")).orElse("")

java 8, 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"))
+4

Apache Commons Lang ObjectUtils::defaultIfNull. , sα΄œΚ€α΄‡sʜ α΄€α΄›α΄›α΄€:

public static <T> T defaultIfNull(T object, T defaultValue) {
    return object == null ? defaultValue : object;
}
+2

MoreObjects.firstNonNull google Guava, request.getParameter( "bar" ) .

String foo = MoreObjects.firstNonNull(request.getParameter("bar"), "");
+1

Source: https://habr.com/ru/post/1609250/


All Articles