用java绑定列表-高效

用java绑定列表-高效,java,properties,javabeans,Java,Properties,Javabeans,我有一个对象myObject,它包含一个名为myThing的属性。对象myThing有一个ArrayList和一个连接到该对象的属性list。我有一些JLabel myLabel绑定到列表属性 为了实现这一点,当firePropertyChange完成时,我必须克隆列表,以便传递PropertyChangeEvent我要传递一个旧列表和一个新列表。这是非常低效的。在没有克隆的情况下,有没有什么方法可以让我绑定属性 列表最近一直是我生存的祸根。我认为克隆列表是你的出路。你知道,克隆列表只会克隆它的

我有一个对象
myObject
,它包含一个名为
myThing
的属性。对象
myThing
有一个
ArrayList
和一个连接到该对象的属性
list
。我有一些
JLabel myLabel
绑定到
列表
属性

为了实现这一点,当
firePropertyChange
完成时,我必须克隆列表,以便传递
PropertyChangeEvent
我要传递一个旧列表和一个新列表。这是非常低效的。在没有克隆的情况下,有没有什么方法可以让我绑定属性


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

我认为克隆列表是你的出路。你知道,克隆列表只会克隆它的结构,而不是它包含的所有成员,所以它不是“那么”低效。

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


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

谢谢,尽管我给出了一个简单的版本。在我的真实代码中,我的“虚构”实际上相当复杂,有许多方法和成员,其中一些不支持克隆,因此克隆真实的虚构在运行时间和编程时间上都很昂贵;我可能不得不解决我想的问题,也许不需要绑定,而是使用我自己的事件和侦听器。谢谢