我正在看书,看到了这段代码:
public Animal getWinner(List<Animal> animals) {
return animals == null || animals.size() == 0 ? null : animals.get(0);
}
后一个表达式很好,因为它返回一个 Animal 或 null。不过,前一个表达式令人费解,因为它只是一个布尔表达式。
我做了一个测试类并调用了getWinner(null). 它回来了null。据我所知,animals == null这是真的,表达式会短路,我希望该方法返回true而不是null.
该行如何编译,甚至按预期工作?
一只萌萌小番薯
慕姐4208626
随时随地看视频慕课网APP
相关分类