在java中绑定列表 - 有效

时间:2014-04-16 01:36:06

标签: java properties javabeans

我有一个对象myObject,其中包含一个名为myThing的属性。对象myThing具有ArrayList和与其连接的属性list。我有一些JLabel myLabel绑定到list属性。

为了完成这项工作,当firePropertyChange完成后,我必须复制列表,以便传递PropertyChangeEvent我有一个旧列表和一个新列表要通过。这是非常低效的。有没有一种方法我应该在没有克隆的情况下这样做,这仍然允许我绑定属性?

列表最近一直是我生存的祸根。

2 个答案:

答案 0 :(得分:1)

我认为克隆List是你的理由。你知道,克隆一个列表只能克隆它的结构,而不是它所包含的所有成员,所以它不是"那个"低效的。

答案 1 :(得分:0)

我认为你应该照顾列表克隆。 它是此ArrayList实例的浅表副本,但不复制元素本身。 所以,如果更改复制的ArrayList,则元素的属性将反映到原始ArrayList的元素。

如果你想让你的程序使用ArrayList拆分,你应该重写ArrayList的克隆方法,使用深度复制。