gpt4 book ai didi

可以支持不同类型的Java类属性

转载 作者:行者123 更新时间:2023-11-30 08:33:18 24 4
gpt4 key购买 nike

我正在用 Java 构建一个内容管理系统,我有一个类来表达实体,还有一个类来表达实体中的字段。

目前我的 Field 类作为 String 的数组列表来存储所有值。

我的类(class)是这样的:

public class Field implements Serializable {
private UUID key;
private String name;
private ArrayList<String> values;
private Integer maxValues;
private ValueType type;
private String code;

public enum ValueType {
INT,
VARCHAR,
DATE,
BOOLEAN
}

public void addValue(String value){
if (this.values.size() < this.maxValues){
this.values.add(value);
}
}

public ArrayList<String> getValues(){
return this.values;
}
}

我想存储字符串、整数、 float 和日期,我想我可以在输入值时对它们进行类型检查,并有单独的方法来获取正确类型的值。

public ArrayList<Integer> getIntegerValues(){

ArrayList<Integer> integerValues = new ArrayList<Integer>();


values.forEach(
(v) -> {

Integer intValue = Integer.parseInt(v);

integerValues.add(intValue);

}
);

return integerValues;
}

我认为这可行,但感觉不是一个很好的解决方案,因为在使用此类时,您必须选择正确的函数来获取类型。如果只有一个函数返回正确的版本就好了。

有没有人知道我怎样才能写得更好。

最佳答案

这是一个如何使用泛型的例子:

public class Field<T> implements Serializable {
private UUID key;
private String name;
private ArrayList<T> values;
private Integer maxValues;
private String code;

public void addValue(T value) {
if (this.values.size() < this.maxValues){
this.values.add(value);
}
}

public ArrayList<T> getValues(){
return this.values;
}
}

关于可以支持不同类型的Java类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39550141/

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