Java TreeMap 获取方法
Java TreeMap get method
当我在 Java TreeMap<K, V>
中使用 V get(Object key)
方法时,我获得了连接到 V get(Object key)
方法中插入的键的值的全新副本,或者我在 TreeMap
?
中得到了一个 "reference" 到值 V
Map#get()
returns一个引用但是Map#put()
方法也存储了一个引用只要。实际的 Object
位于 堆 上。事实上,TreeMap
与 Entry<K,V>
引用一起工作, 堆 上的实际 Entry
对象然后指向实际的 键 和 value 对象再次位于 堆 上。
一般来说,Java 的标准集合不会复制给定的值。如果您注意到,这些值并没有被限制为 Cloneable
(即使它们是,由于 Cloneable
的怪异,也不能确保它们实际上是可克隆的)。并且没有其他方法可以创建副本(因为您不能 运行 new
泛型类型变量)。
因此,他们必须凑合使用给定的参考文献,这就是您使用 get()
.
检索它们时得到的结果
当我在 Java TreeMap<K, V>
中使用 V get(Object key)
方法时,我获得了连接到 V get(Object key)
方法中插入的键的值的全新副本,或者我在 TreeMap
?
Map#get()
returns一个引用但是Map#put()
方法也存储了一个引用只要。实际的 Object
位于 堆 上。事实上,TreeMap
与 Entry<K,V>
引用一起工作, 堆 上的实际 Entry
对象然后指向实际的 键 和 value 对象再次位于 堆 上。
一般来说,Java 的标准集合不会复制给定的值。如果您注意到,这些值并没有被限制为 Cloneable
(即使它们是,由于 Cloneable
的怪异,也不能确保它们实际上是可克隆的)。并且没有其他方法可以创建副本(因为您不能 运行 new
泛型类型变量)。
因此,他们必须凑合使用给定的参考文献,这就是您使用 get()
.