当前位置:  开发笔记 > 编程语言 > 正文

在Java中进行对象转换的简单/优雅方式?

如何解决《在Java中进行对象转换的简单/优雅方式?》经验,为你挑选了1个好方法。

我必须接管并改进/完善一些代码,将Java对象从第三方库转换为内部对象.目前,这是通过一个大的if-else语句完成的:

if (obj instanceOf X)
{
    //code to initialize internal object
}
else if (obj instanceOf Y)
{
    //code to initialize different object
}
else if (obj instanceOf Z)
{
    //more init code
}
...

我个人认为这个解决方案并不令人满意; 它变得冗长而混乱,更糟糕的是,许多if-else块包含更多if-else块处理子类和边缘情况.这个问题有更好的解决方案吗?



1> Joachim Saue..:

创建这样的界面

public interface Converter {
  public T convert(S source);
}

并为X,Y,Z的每个对象实现它.然后将所有已知的转换器放入Map中并开心!

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有