gpt4 book ai didi

java - 在java中将类类型保存为Type数据类型

转载 作者:行者123 更新时间:2023-12-01 19:49:58 26 4
gpt4 key购买 nike

我正在尝试保存类类型并在需要时将其取回。为了保存类类型,我在下面提到的类中创建了一个成员变量作为 Type typeName 。但是当我尝试使用 getTypeName 取回它时,它返回 Class 而不是实际的类名。

public class Request<T>  {

private Type typeName;

public Type getTypeName() {
return typeName;
}

public void setTypeName(Type typeName) {
this.typeName = typeName;
}
}

这就是我保存类类型的方式

for(Class modelClass: realmObjectClasses) {

Request<T> request = new Request<T>();
request.setTypeName(modelClass);
}

现在,当我尝试使用 request.getTypeName().getClass() 取回类型时,方法返回“Class”而不是实际的类类型

我需要将 request.getTypeName().getClass() 值传递给以下构造函数new RequestSerializer(request.getTypeName().getClass())

>
public RequestSerializer(Class<?> className){

mClass = className;

}

最佳答案

您正在将Class分配给Type。当调用request.getTypeName().getClass()时,它等于modelClass.getClass(),它是modelClass的类,不是 modelClass 本身。

您需要的只是类型转换:

new RequestSerializer((Class<?>) request.getTypeName())

关于java - 在java中将类类型保存为Type数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51759968/

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