这听起来像是一个愚蠢的问题,但我很快就会明白这一点。无论如何,如果我要将return;
添加到Java中的void方法的末尾,是否会对性能产生任何影响(我的意思是ANY)?例如:
原始方法:
public void method(){
int i = 1;
}
新方法:
public void method(){
int i = 1;
return;
}
现在,显然这并没有对节目的表现产生任何重大影响,但它会有一个微不足道的影响吗?如果它没有以任何方式改变性能,它是否会改变其他任何东西? (就像编译程序的大小一样?)
答案 0 :(得分:16)
如果您的意思是运行时性能,请不要;编译器发出的字节码与是否相同。这很容易检查:编译它,使用javac -p ClassName
查看反编译版本,然后使用它编译,并执行相同操作。您会发现它们相同(两者都包含return
字节码。)
如果它没有以任何方式改变性能,它会改变其他什么吗? (就像编译程序的大小一样?)
不。字节码与大小相同。
答案 1 :(得分:5)
实际上,如果你有一个没有任何return语句的void方法,编译器将始终在它结束时生成一个返回指令。所以我觉得它什么都没改变。