java 中不必要的拆箱 - 如何重构代码?
Unnecessary unboxing in java - how to refactor the code?
我有以下 Java 8 代码(为演示而简化):
public Double fooBar(int a) {
return Double.valueOf(a);
}
现在 IntelliJ IDEA 告诉我 return 语句中有不必要的装箱。如果 a
是 double
类型,我会理解这个问题,但是对于 int
我觉得我需要装箱才能转换为 double
.
是否有重构这段代码的好方法,我目前看不到,或者此时来自 IntelliJ IDEA 的错误消息根本不是最佳的?
感谢帮助
如果用alt-enter使用建议的分辨率"Remove boxing",结果是这样的:
public Double fooBar(int a) {
return (double) a;
}
在这种情况下,从 int
到 double
的转换非常明确,同时避免手动装箱。
全程留在原始境界如何?
public double fooBar(int a) {
return a;
}
我的回答是不重构代码。
原始代码是好的和优化的,我们不需要在幕后发生任何事情。
自动装箱是不必要的恕我直言。
我有以下 Java 8 代码(为演示而简化):
public Double fooBar(int a) {
return Double.valueOf(a);
}
现在 IntelliJ IDEA 告诉我 return 语句中有不必要的装箱。如果 a
是 double
类型,我会理解这个问题,但是对于 int
我觉得我需要装箱才能转换为 double
.
是否有重构这段代码的好方法,我目前看不到,或者此时来自 IntelliJ IDEA 的错误消息根本不是最佳的?
感谢帮助
如果用alt-enter使用建议的分辨率"Remove boxing",结果是这样的:
public Double fooBar(int a) {
return (double) a;
}
在这种情况下,从 int
到 double
的转换非常明确,同时避免手动装箱。
全程留在原始境界如何?
public double fooBar(int a) {
return a;
}
我的回答是不重构代码。
原始代码是好的和优化的,我们不需要在幕后发生任何事情。
自动装箱是不必要的恕我直言。