IDE报告不必要的装箱检查

Juxhin:

IDE报告不必要的装箱检查

我最近正在检查一些Oracle教程中发布的有关Swing#JTable的代码。IntelIJ返回了一些警告消息,这些警告消息涉及保存Table数据的多维数组内的原始变量的装箱。


这是找到的数组,它取自docs.oracle.com

Object[][] data = {
            {"Kathy", "Smith",
                    "Snowboarding", new Integer(5), new Boolean(false)},
            {"John", "Doe",
                    "Rowing", new Integer(3), new Boolean(true)},
            {"Sue", "Black",
                    "Knitting", new Integer(2), new Boolean(false)},
            {"Jane", "White",
                    "Speed reading", new Integer(20), new Boolean(true)},
            {"Joe", "Brown",
                    "Pool", new Integer(10), new Boolean(false)}
    };

所有包装的变量都收​​到此消息:

“不必要的装箱'new Integer(5)'报告“装箱”,例如,对象中原始值的包装。在Java 5和更高版本中装箱是不必要的,可以安全地删除。此检查仅报告项目或模块是否配置为使用5.0或更高的语言水平。”


我知道Java中装箱和拆箱的概念,我的问题是为什么它在较新版本的Java中与“无关”,因为我已经看到许多开发人员在讨论或最近使用它。

另外,由于不需要装箱,应将“ new Integer(5)”替换为什么?

乔尼:

由于Java 5和更高版本中的自动装箱,您不必调用Integer和Boolean构造函数即可手动“装箱”原始值。IDE似乎建议您将代码编写为:

Object[][] data = {
            {"Kathy", "Smith", "Snowboarding", 5, false},
            {"John", "Doe", "Rowing", 3, true},
            {"Sue", "Black", "Knitting", 2, false},
            {"Jane", "White", "Speed reading", 20, true},
            {"Joe", "Brown", "Pool", 10, false}
    };

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章