gpt4 book ai didi

Java 在泛型函数中分配对象的解决方法?

转载 作者:行者123 更新时间:2023-12-01 07:09:29 25 4
gpt4 key购买 nike

基本上我想做的是从泛型函数分配参数化类型:

public < T > T wishful_thinking(  )
{
return new T( );
}

由于“对象切片”,转换也不起作用(也就是说,它可以编译,但会出现“段错误”):

public < T > T wishful_thinking(  )
{
return ( T )new Object( );
}

那么......有没有解决这个问题的方法(也许使用反射或类似的方法)?

谢谢!

最佳答案

你不能。解决方案是在方法中传递 Class 对象并使用反射来创建实例。

没有任何异常处理的示例:

public <T> T wishful_thinking(Class<T> clazz)
{
return clazz.newInstance();
}

关于Java 在泛型函数中分配对象的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17200626/

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