Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将空字符串转换为"&引用;_Java_Null - Fatal编程技术网

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));