我有一个对象myObject
,其中包含一个名为myThing
的属性。对象myThing
具有ArrayList
和与其连接的属性list
。我有一些JLabel myLabel
绑定到list
属性。
为了完成这项工作,当firePropertyChange
完成后,我必须复制列表,以便传递PropertyChangeEvent
我有一个旧列表和一个新列表要通过。这是非常低效的。有没有一种方法我应该在没有克隆的情况下这样做,这仍然允许我绑定属性?
列表最近一直是我生存的祸根。
答案 0 :(得分:1)
我认为克隆List是你的理由。你知道,克隆一个列表只能克隆它的结构,而不是它所包含的所有成员,所以它不是"那个"低效的。
答案 1 :(得分:0)
我认为你应该照顾列表克隆。 它是此ArrayList实例的浅表副本,但不复制元素本身。 所以,如果更改复制的ArrayList,则元素的属性将反映到原始ArrayList的元素。
如果你想让你的程序使用ArrayList拆分,你应该重写ArrayList的克隆方法,使用深度复制。