2016-03-07 90 views
0

Java中如何以及什麼是最佳/正確的方式(即,最高效且最清晰的語法)來創建基於原型對象實例的對象實例,何時這將重複發生並且在關鍵性能代碼路徑中?Java:基於原型創建實例

我曾經想過通過克隆支持庫進行克隆,但這是最好的/唯一的方式嗎? (這些需要是任意對象,順便說一下,不是那些實現Clonable的)。

澄清我的意思:我有一個現有的T類實例,它具有設置的字段,並且我想彈出多個版本的相同對象以分開使用,並且具有最佳性能和語法清晰度。

謝謝。

+2

'new T(prototypeT)'? 'prototypeT.copy()'? –

+0

你是什麼意思的「最好的辦法」? – AdamSkywalker

+0

@AdamSkywalker我試圖用「最佳性能和語法清晰度」來表達清楚 – mtyson

回答

1

創建一個生成器,接收此類實例:

Person newOne = new PersonBuidler(oldOne).setAge(42) 

此生成器可以使用Apache共同Beanutils進行克隆Java組件或克隆任意類的一些其他實用程序庫的實現。 見How do I copy an object in Java?