简体   繁体   English

Java字符串设置默认值,如果为null

[英]Java string set default value if null

Is there a proficient way to set a string to some default value if assignment gives nullPointerException? 如果赋值给出nullPointerException,是否有一种有效的方法将字符串设置为某个默认值?

Say im initializing a string like this: 说即时初始化这样的字符串:

String myString= jsonElement.getAsJsonObject().get("myString").getAsString();

If it gives nullPointer i need to give it a default value, i know i can do it with an "if" check after but is that the only way? 如果它给nullPointer我需要给它一个默认值,我知道我可以用“ if”检查,但是那是唯一的方法吗? It would mean alot of checks as i am initiating around 20 strings. 当我启动大约20个字符串时,这将意味着很多检查。

Is there any way to do it like: 有什么办法可以做到:

String myString = jsonElement.getAsJsonObject().get("myString")
    .getAsString() || "defaultValue";

您可以为此使用Optional ,如下所示:

Optional.of(jsonElement).map(element -> element.getAsJsonObject()).map(o -> o.get("myString")).map(e -> e.getAsString()).orElse("defaultValue");

How about make a method to do that. 怎么做才能做到这一点。

String getOrDefault(JsonElement jsonElement, String key)
    JsonObject obj = jsoneElement.getAsJsonObject().get(key);
    return obj==null?"default":obj.getAsString();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM