【问题标题】:Java: Create Instances based on prototype [closed]Java:基于原型创建实例 [关闭]
【发布时间】:2016-06-21 13:15:58
【问题描述】:

在 Java 中基于原型对象实例创建对象实例的最佳/正确方法(即,在语法上最高效和最清晰的方法)是什么?

我曾考虑通过克隆支持库进行克隆,但这是最好/唯一的方法吗? (顺便说一句,这些必须是任意对象,而不是实现 Clonable 的对象)。

为了澄清我的意思:我有一个现有的 T 类实例,它上面设置了字段,我想弹出同一个对象的多个版本以单独使用,以尽可能提高性能和语法清晰度。

谢谢。

【问题讨论】:

  • new T(prototypeT)? prototypeT.copy()?
  • “最佳方式”是什么意思?
  • @AdamSkywalker 我试图用“最佳性能和语法清晰度”来说明这一点
  • @JBNizet 除了它需要类支持原型构造函数,我不想要求。

标签: java prototype instantiation cloning


【解决方案1】:

创建一个接收这个类实例的构建器:

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

此构建器的实现可以使用 apache common BeanUtils 来克隆 Java Beans 或其他一些实用程序库来克隆任意类。 见How do I copy an object in Java?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多