gpt4 book ai didi

java - 存储在变量中与具有多种不同的方法

转载 作者:搜寻专家 更新时间:2023-11-01 01:13:31 25 4
gpt4 key购买 nike

使用这个的优点和缺点是什么:

String a = new String();
switch (i) {
case 1: a = "Cueck"; break;
case 2: a = "Blub"; break;
case 3: a = "Writing cases is BORING!"; break;
}
System.out.println(a);

对比:

switch (i) {
case 1: System.out.println("Cueck"); break;
case 2: System.out.println("Blub"); break;
case 3: System.out.println("Writing cases is BORING!"); break;
}

哪个生成更好的字节码?哪个生成更多的字节码?

最佳答案

您的第一个选项更简洁并且冗余代码更少。一项建议的更改:

String a;

switch (i) {
case 1: a = "Cueck"; break;
case 2: a = "Blub"; break;
case 3: a = "Writing cases is BORING!"; break;
default: throw new IllegalStateException("Unknown option!");
}

System.out.println(a);

不要不必要地创建字符串 - a 应该在需要时实例化。默认情况应该抛出异常或将 a 设置为默认值。

Which generates better bytecode? And which generates more bytecode?

我不会为此担心。在我看来,这并不是任何实际应用程序中可能存在的瓶颈。此外,您无法确定应用程序运行后 JVM 将如何优化字节码。

关于java - 存储在变量中与具有多种不同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com