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