有没有用Java编写Javascript代码'a ||“text”'的简便方法?

时间:2011-08-08 18:04:52

标签: java

当我需要在Javascript中显示可能为null / undefined的值时,我通常只写: console.log(a||"");

或类似的东西。是否有类似的方法在Java中执行此操作:

System.out.println(a!=null?a:"");

6 个答案:

答案 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这样的编译语言并不适用于快速和短编码。