Java 布尔构造函数如何导致性能问题?

Java 布尔构造函数如何导致性能问题?,java,constructor,boolean,Java,Constructor,Boolean,我正在尝试对我的代码运行IntelliJ中提供的代码检查,它在调用new Boolean(“true”)时报告了性能问题 IDE中的描述如下所示 报告实例化新布尔对象的任何尝试。建造 很少需要新的布尔对象,这可能会导致性能下降 如果做得足够频繁,就会出现问题 想了解此语句如何或为什么会导致性能问题吗?如果调用new Boolean(“true”)一百万次,您将创建一百万个Boolean对象。相反,您可以使用Boolean.valueOf(“true”),它将重用相同的Boolean对象(或者只使

我正在尝试对我的代码运行IntelliJ中提供的代码检查,它在调用
new Boolean(“true”)
时报告了性能问题
IDE中的描述如下所示

报告实例化新布尔对象的任何尝试。建造 很少需要新的布尔对象,这可能会导致性能下降 如果做得足够频繁,就会出现问题


想了解此语句如何或为什么会导致性能问题吗?

如果调用
new Boolean(“true”)
一百万次,您将创建一百万个
Boolean
对象。相反,您可以使用
Boolean.valueOf(“true”)
,它将重用相同的
Boolean
对象(或者只使用原语值
true
,让编译器为您处理装箱)。

那么,您为什么特别需要一个新实例呢?它实际上只能接受两个值,所以在多个实例中使用它有什么意义呢。你只是在分配更多的对象。参考@Jeroenvanevel,我可以将其更改为原始数据类型,但我很想了解它为什么会影响性能,或者如何影响性能我刚才告诉过你的——因为你是在分配新对象,而不是重复使用现有对象。好吧,这只是创建对象的开销,对吗?没有其他导致性能下降的具体原因,我猜…@G.S创建许多不必要的对象可能会导致性能下降(它们占用的内存、多次执行布尔构造函数所需的时间,以及垃圾收集器释放所有这些对象所需的额外工作)。