Java 编译器能理解两个返回值吗?

问题描述 投票:0回答:5

用java写这样的东西安全吗?

if(var==2){
 return true;
}
return false;

不知何故,在调试时,编译器执行第一个返回,然后转到第二个。 该方法是否应该在第一次返回后终止?

java return
5个回答
3
投票

是的,很安全。

但是考虑写这个:

return (var==2);

1
投票

那是绝对安全的。替代方案是

return var == 2;
return var == 2 ? true : false;


1
投票

这是完全安全有效的 Java 代码。而且返回也不可能真正返回。

如果你相信的话,我建议你清理一下然后重新编译,编译后的类和你的源代码之间可能不匹配。


1
投票

是的,它很安全!您可以获得任意数量的回报 - 该方法将在第一个回报之后终止


1
投票

是的,这样做完全没问题,即使你可以写得更短。也许它看起来像是在您直观地单步执行代码时到达第二次返回,当

var == 2
时,但它正在单步执行到函数的末尾。您应该能够在函数执行完成后检查其返回值。

如果你真的想确定,你可以使用

assert
语句,甚至带有返回值的 print 语句。

© www.soinside.com 2019 - 2024. All rights reserved.