假设我们有一些cityString getZIP()方法。
我想打印ZIP的值,或者如果ZIP为null,则不打印任何内容。

我可以使用三元运算在一行代码中做到这一点:

System.out.print(city.getZIP() == null ? "" : city.getZIP())


问题是:是否可以执行相同的操作而无需两次调用.getZIP()
就像是:

System.out.print(String zip = city.getZIP() == null ? "" : zip) //syntax error here

最佳答案

您可以将值分配给现有变量,但不能在ternery条件内创建一个值。

就像是,

String zip; // Created elsewhere but not assigned to city.getZip().
System.out.print(((zip = city.getZIP()) == null) ? "" : zip)


但是您不能在其中声明一个新变量。

关于java - Java在三元操作中声明变量。可能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36037103/

10-12 06:24