就是如果为null,则运行后面的,否则返回前面的。
obj = obj1 ?? new Object()
//等价于:
if (obj == null)
obj = new Object();
else
obj = obj1;
有点问题吧!?
obj = obj1 ??new Object();
//等价于:
if (obj1 == null)
obj = new Object();
else
obj = obj1;
楼上正解
Yes “?”很多多了解。
可以理解为:为空判断赋值预算符!
如果为空就将后面的表达式的值赋给它。
如:
int a=(page ?? 20) - 3;
// page==null 时a=20-3=17
// page!=null时a=page-3