gpt4 book ai didi

java - 在 Java 中围绕类型删除设计构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:03 24 4
gpt4 key购买 nike

昨天,我正在设计一个 Java 类,我想用各种泛型类型的列表对其进行初始化:

TheClass(List<String> list) {
...
}

TheClass(List<OtherType> list) {
...
}

这不会编译,因为构造函数具有相同的删除。

我只是使用以名称区分的工厂方法:

public static TheClass createWithStrings(List<String> list)
public static TheClass createWithOtherTypes(List<OtherType> list)

这不是最佳选择,因为没有一个明显的位置可用于创建实例的所有不同选项。

我试图寻找更好的设计理念,但发现的结果少得惊人。围绕这个问题进行设计还有哪些其他模式?

最佳答案

我很想知道这个问题的巧妙解决方法。

我经常遇到同样的问题,我通常只是在构造函数中引入一个伪参数(例如Void)来修复它,这当然不是最优雅的修复方法,但却是最好的我目前知道的一个。

关于java - 在 Java 中围绕类型删除设计构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703584/

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