我正在尝试创建一个变量并分配一个值(如果存在),否则分配一个默认值(简写,如JavaScript中的var a = b || c;
)
public Object a = b || new Object();
这可能吗?
答案 0 :(得分:6)
三元运算符可能很有用:
Object a = b != null ? b : new Object();
如果b
不是null
,则a
将被分配到b
,否则会被分配到new Object()
。
答案 1 :(得分:4)
没有直接的等价物。
最简单的方法是:
public Object a = b == null ? new Object() : b;
请注意,对于Java 8,如果b
被定义为Optional<Object>
(如果没有,您可以随时使用Optional.ofNullable(b)
将其转换为Optional
),则可以使用orElseGet
并写下:
public Object a = b.orElseGet(Object::new);
模仿JavaScript语法。