我最近查看了一些关于Swing#JTable的Oracle教程上发布的代码.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)}
};
Run Code Online (Sandbox Code Playgroud)
所有包装的变量都收到此消息:
"不必要的拳击'新整数(5)'报告"拳击",例如在对象中包裹原始值.在Java 5和更新版本下不需要拳击,并且可以安全地删除.此检查仅报告项目或模块是否配置为使用5.0或更高的语言水平."
我知道Java中装箱和拆箱的概念,我的问题是为什么它在新版本的Java中"无关紧要",因为我看到很多开发人员在讨论或最近使用它.
此外,由于不需要拳击,应该用'new Integer(5)'代替什么?
Jon*_*oni 25
由于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}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12417 次 |
| 最近记录: |