gpt4 book ai didi

Java创建编译类型参数未知的泛型对象

转载 作者:搜寻专家 更新时间:2023-10-31 19:56:13 24 4
gpt4 key购买 nike

我有通用类:

class Field<T> { }

还有一些其他类(我只在运行时知道它的类型),例如有很多 get 方法:

   class A{
public Date getDate();
public String getName();
public Integer getNumber();
}

我想创建类 Field 的实例对于所有 get 方法,使用 T等于这些 get 的返回类型方法。对于此示例 Field<Date> , Field<String> , Field<Integer> .

有人可以帮忙吗?

最佳答案

您通常将反射用于您只在运行时知道的事情。泛型信息在编译时被删除。因此,虽然在某些情况下您可以将两者混合使用,但这并不常见。

I want to create instances of class Field for all get methods, with T equals to return type of these get methods. For this example Field, Field, Field.

从字面上回答你的问题:

Field<Date> dateField = new Field<Date>();
Field<String> nameField = new Field<String>();
Field<Integer> numberField = new Field<Integer>();

关于Java创建编译类型参数未知的泛型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16697092/

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