gpt4 book ai didi

java - 基于类字段的转换函数返回类型

转载 作者:行者123 更新时间:2023-11-29 04:21:41 26 4
gpt4 key购买 nike

我有一个看起来像这样的类。

public class ParseValue {
public String value;
public final Class classType;
}

我想创建一个函数来进行转换并返回一个转换值。

public T parseValue(ParseValue parseInfo) {
if(parseInfo.classType == String.class) {
return parseInfo.value;
} else if (parseInfo.classType == Double.class) {
return Double.valueOf(parseInfo.value);
}
}

现在我可以让这个函数返回一个对象,然后在得到结果时转换它,但是有没有办法让函数根据输入的 ParseValue 的 classType 字段进行转换?

最佳答案

最安全的方法是使 ParseValue 通用:

public class ParseValue<T> {
public String value;
public final Class<T> classType;

public T parseValue() {
Object result;
if (classType == String.class) {
result = value;
} else if (classType == Double.class) {
result = Double.valueOf(value);
} else {
throw new RuntimeException("unknown value type");
}
return classType.cast(result);
}
}

关于java - 基于类字段的转换函数返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48778059/

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