【问题标题】:Convert object from one class to another in java [closed]在java中将对象从一个类转换为另一个[关闭]
【发布时间】:2020-08-24 13:34:27
【问题描述】:

我有 2 个自定义类 A 和 B。 现在我有一个 A 的对象,让我们说 'a' 并且必须将其转换为 B 类。

现在我有两种方法

  • 首先是我编写了一个转换工具,它有一个静态的转换方法。
  • 第二种方法是使用方法 convertToB() 在 A 类中编写该逻辑

哪个更准确。请提出建议。

【问题讨论】:

  • 我认为这不是解决此类问题的正确论坛。 “哪个更准确”只有基于意见的答案,没有“正确答案”。看看Integer.parseInt( someString ) 和它的同源物Integer.valueOf ( someString ),甚至是Apache utils 中的一个utils 方法。两种尝试都是正确的。如果您经常在 A 和 B 之间切换,那么您可能需要一个“convertTo”,但如果您只使用它几次,那么 Utils 方法可能更适合您的需求。

标签: java oop design-patterns


【解决方案1】:

简而言之,这取决于A和B之间的关系。

如果 B 扩展 A,则在将 A 对象分配给 B 对象时在语言内完成转换。

否则,如果没有继承,建议要么创建一个 util 类来为将来的变化进行转换,要么有一个 B 的构造函数,它有一个 A 对象作为参数。

【讨论】:

  • 构造函数的好主意
【解决方案2】:

这是一个偏好问题,也许更适合 Stack Overflow 的软件工程/设计对应方的问题。也就是说,我会使用第一个选项。如果您添加了更多类并需要在它们之间进行转换,那么您将使用所有转换方法使您的类膨胀。如果你有一个或多个带有转换方法的类,代码会更干净。

【讨论】:

    【解决方案3】:

    关注点分离 - util 类是最好的方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-18
      • 2011-03-15
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多