Java 将空字符串转换为"&引用;
如果我有Java 将空字符串转换为"&引用;,java,null,Java,Null,如果我有 String a = null; System.out.println(a); 我去拿 null 有没有一种优雅的方法可以将其更改为空字符串 我可以做到: if (a == null){ a=""; } 上下文是我将生成一个如下形式的字符串: String myString=a+“\n”+b+“\n”+c 但我想知道是否有更好的解决办法 您可以使用 此外,您可以使用chrylis建议的Commons Lang3函数 System.out.println(StringUtils.de
String a = null;
System.out.println(a);
我去拿
null
有没有一种优雅的方法可以将其更改为空字符串
我可以做到:
if (a == null){
a="";
}
上下文是我将生成一个如下形式的字符串:
String myString=a+“\n”+b+“\n”+c代码>
但我想知道是否有更好的解决办法 您可以使用
此外,您可以使用chrylis建议的Commons Lang3函数
System.out.println(StringUtils.defaultString(a));
我会找出一种实用方法来捕捉意图,从而提高可读性并允许轻松重用:
public static String blankIfNull(String s) {
return s == null ? "" : s;
}
然后在需要时使用:
System.out.println(blankIfNull(a));
您可以编写一个varargs方法
public static String concat(String... arr) {
StringBuilder sb = new StringBuilder();
for (String s : arr)
if (s != null)
sb.append(s);
return sb.toString();
}
那你就可以了
String myString = concat(a, "\n", b, "\n", c);
有一个函数可以做到这一点
import org.apache.commons.lang3.StringUtils;
a = null;
System.out.println(StringUtils.defaultString(a));
是的,这是到目前为止我得到的最好的解决方案。我很确定Commons Lang已经有了这个解决方案。@chrylis如果有,就发布这个函数。实际上,Java:Objects.toString(s,”)
你能不能不说String a=“”
?该字符串将其指针放在null处,然后指向空字符串。
import org.apache.commons.lang3.StringUtils;
a = null;
System.out.println(StringUtils.defaultString(a));