我试图搜索这个,但无法轻易找到答案。
如果我们有多个Integer
Java对象对应于相同的整数值 - 它们在内存中是否相同?
答案 0 :(得分:4)
不,但如果您使用Integer.valueOf(),
Long.valueOf(),
等,则可能会获得单个缓存值。不一样。
答案 1 :(得分:1)
除非你像这样创建它们
Integer a = new Integer(5);
Integer b = a;
Integer c = b;
在上述情况下,a
,b
和c
都会引用相同的Integer
对象。
另一方面,如果你将它们声明为
Integer a = new Integer(5);
Integer b = new Integer(5);
Integer c = new Integer(5);
然后,3个变量a
,b
和c
都引用单独的Integer
对象。