gpt4 book ai didi

java - 如何获取作为通用参数传递给 Java 函数的实体的字段?

转载 作者:行者123 更新时间:2023-11-29 08:24:07 25 4
gpt4 key购买 nike

我有一个接收任何实体类的通用方法。我的所有实体都有一个 LocalDate 类型的 createDate 字段。我想访问并获取通用方法中的字段。该方法将是这样的

public static < T > List<Resource> printArray( List<T> entity) {
for( T e : entity ) {
LocalDate d = e.getCreateDate(); //Wrong
}

我不想检查通用参数的实例并对其进行类型转换,因为有很多实体并且我希望代码最少(因此通用函数)。我该怎么做?

最佳答案

您可以使用抽象方法 getCreateDate() 创建一个接口(interface)

interface IDate {
LocalDate getCreateDate();
}

假设您的所有实体都已实现此接口(interface),您的方法将如下所示:

public static <T extends IDate> List<Resource> printArray(List<T> entity) {
for(T e : entity ) {
LocalDate d = e.getCreateDate();
}
}

否则你不能保证你传递给这个方法的实体有方法getCreateDate()

@VHS建议的反射方案

关于java - 如何获取作为通用参数传递给 Java 函数的实体的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54847331/

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