是Integer,Boolean等.Java Objects单例对象?

时间:2014-05-05 03:04:29

标签: java object primitive

我试图搜索这个,但无法轻易找到答案。

如果我们有多个Integer Java对象对应于相同的整数值 - 它们在内存中是否相同?

2 个答案:

答案 0 :(得分:4)

不,但如果您使用Integer.valueOf(), Long.valueOf(),等,则可能会获得单个缓存值。不一样。

答案 1 :(得分:1)

除非你像这样创建它们

Integer a = new Integer(5);
Integer b = a;
Integer c = b;

在上述情况下,abc都会引用相同的Integer对象。

另一方面,如果你将它们声明为

Integer a = new Integer(5);
Integer b = new Integer(5);
Integer c = new Integer(5);

然后,3个变量abc都引用单独的Integer对象。