我是学习Java的新手,并被告知要创建这样的对象变量:
Integer a = new Integer(2);
而不是这样:
Integer a = 2;
有人可以解释为什么创建对象变量的第二种方法不好吗? 编辑:我在这里添加这个,因为我得到的答案不一 我应该使用哪一个?何时使用?
答案 0 :(得分:3)
第二种方法实际上更好,因为它会隐式调用Integer.valueOf()
。从文档中:
返回一个代表指定
int
值的Integer实例。如果不需要新的Integer
实例,通常应优先使用此方法,而不要使用构造方法Integer(int)
,因为此方法通过缓存经常请求的内容可能会显着改善空间和时间性能值。此方法将始终缓存-128至127(包括)范围内的值,并且可能会缓存此范围之外的其他值。
(强调我的。)
另请参阅:Autoboxing