首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Commons BeanUtils获取列表属性

Apache Commons BeanUtils获取列表属性
EN

Stack Overflow用户
提问于 2011-04-11 01:44:14
回答 1查看 3.9K关注 0票数 1

在Apache Commons BeanUtil中,如何获取列表中的类型?例如

代码语言:javascript
复制
class Track {
   List<Actor> actorList = new ArrayList<Actor>();
}

System.err.println(PropertyUtils.getPropertyType(trackBean, "actorList"));
// it should give me Actor instead of java.util.List

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-11 02:02:28

我不知道是否可以使用beanutils。但您可以使用反射来完成此操作。

代码语言:javascript
复制
Field field = Track.class.getDeclaredField("actorList");
ParameterizedType pt = (ParameterizedType) field.getGenericType();
Class clazz = (Class) pt.getActualTypeArguments()[0];

你可能需要上面的一些检查(你是否可以强制转换,是否存在实际的类型参数,等等),但是你已经明白了。

类型信息在运行时被擦除,除非它是结构化的--例如字段或类的类型参数。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5613574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档