gpt4 book ai didi

java - 转换为 Java 中的通用子类

转载 作者:行者123 更新时间:2023-11-29 06:48:12 26 4
gpt4 key购买 nike

<分区>

我想编写通用函数,它可以通过名称创建任何类型的对象并将其作为自己的类型而不是对象类型返回。

import java.lang.reflect.Constructor;
public class Test{
static <T extends Object> T makeObject(String className) {
try {
Class<?> c = Class.forName(className);
Constructor<?> constructor = c.getConstructor();
Object object = constructor.newInstance();
return (T)c.cast(object);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
//without casting
String obj = makeObject("java.lang.String");
System.out.println(obj.getClass());
}
}

它工作正常,但我收到警告

Type safety: Unchecked cast from capture#4-of ? to T

如何在不添加 @SuppressWarnings("unchecked") 的情况下解决问题?

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