gpt4 book ai didi

java - 如何重构这个简单的类字段

转载 作者:行者123 更新时间:2023-12-01 16:46:38 25 4
gpt4 key购买 nike

我有一个非常基本的 OOP 问题。我有两个类(class)如下

public class Class1 {
private String field1;
private String field2;
private List<String> field3;
// constructors
}

public class Class2 {
private String field1;
private String field2;
private List<Object1> field3;
// constructors
}

我必须创建 class2 的唯一原因是 class1 中的列表可以是字符串列表或对象 2 列表。有没有办法摆脱 Class2,并使 field3 充当字符串列表和 Object2 列表。

我知道我可以做类似的事情

public class Class1 {
private String field1;
private String field2;
private List<String> field3;
private List<Object1> field4;

// constructors which are initializing null to either field 3 or field 4
}

但是上面的内容看起来并不干净,因为用任一列表实例化的对象不应该有另一个列表的任何引用。

最佳答案

使用generics :

public class Class1<TField3> {
private String field1;
private String field2;
private List<TField3> field3;
// constructors
}

Class1<String> stringObj = new Class1<>();

关于java - 如何重构这个简单的类字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49369018/

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