我必须接管并完善/完成一些将Java对象从第三方库转换为内部对象的代码。目前,这是通过一个大的if-else语句的线沿线的完成:在Java中做对象转换的简单/优雅的方法?
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块。有没有更好的解决这个问题?
可能,但没有更多关于您获得的对象的信息以及您基于它们执行的初始化类型,很难说 - 这是“依赖于”的答案之一。 – Rob 2009-01-07 19:47:19