假设我们有一些city
和String 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/