当我需要在Javascript中显示可能为null / undefined的值时,我通常只写:
console.log(a||"");
或类似的东西。是否有类似的方法在Java中执行此操作:
System.out.println(a!=null?a:"");
答案 0 :(得分:3)
我认为您的System.out.println(a!=null?a:"");
是一种非常清晰的方式来输出您要查找的内容。
它使用三元运算符,似乎有意义。
(condition) ? (if true) : (if false);
答案 1 :(得分:1)
除了使用三元运算符之外,你能做的最好的事情就是创建一个非常简短的方法来做同样的事情。对于“可空字符串”可能是“ns”:
public static String ns(String nullableString) {
return nullableString == null ? "" : nullableString;
}
然后你可以写“System.out.println(ns(a));”然而,三元运算符更清晰 - 如果我在整个地方这样做,我只会做类似上面的事情。
答案 2 :(得分:0)
你有三元: a!= null? a:“”
答案 3 :(得分:0)
如果未初始化变量,则java将无法编译。未定义在Java中是不可接受的。
如果您有一个名为“blueberry”的变量,并且想要在控制台上显示该值,则可以执行以下操作:
System.out.println(blueberry);
如果blueberry为null,则此代码将在控制台上显示“null”。
这是一个简单的演示
public class Outty { public static void main(String[] args) { String blueberry = null; System.out.println(blueberry); blueberry = "7"; System.out.println(blueberry); } }
答案 4 :(得分:0)
没有,正如其他答案所暗示的那样。这是因为在JS中,布尔运算符不一定返回布尔值,它们返回导致表达式短路的对象的值。但是,在Java中,如在C和其他语言中,布尔运算符总是返回布尔值,因此您没有那种方便的方法来默认值a = b || c
或者防止空指针a = b && b.getValue()
答案 5 :(得分:0)
当null为空时,你可以做一个不打印null的函数 我不知道java,但原型将是
function safePrint(object a)
{
System.out.println(a!=null?a:"");
}
然后写下
safePrint(a);
虽然如果您正在寻找短代码,请使用javascript或perl等解释性语言。像java这样的编译语言并不适用于快速和短编码。