gpt4 book ai didi

java - 在 Java 中进行对象到对象转换的简单/优雅的方法?

转载 作者:行者123 更新时间:2023-11-29 06:48:10 25 4
gpt4 key购买 nike

我必须接管并改进/完成一些将 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 block 包含更多处理子类和边缘情况的 if-else block 。这个问题有更好的解决方案吗?

最佳答案

像这样创建一个界面

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

并为X,Y,Z的每个对象实现它。然后将所有已知的转换器放入一个 Map 中并获得快乐!

关于java - 在 Java 中进行对象到对象转换的简单/优雅的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com