【发布时间】:2013-05-23 10:19:14
【问题描述】:
在 Java 中使用属性名称作为字符串来获取属性的强类型值的最佳方法是什么。
例如:一个Person类,年龄字段为整数,比如21。如果下面的语句必须为年龄字段返回整数21,那么get方法的实现应该是什么? [注:21 为整数返回]
ObjectUtils.get(person, "age");
示例方法头
public static <E> E get(Object object, String fieldName);
一种方法是获取字段的类型并显式地进行类型转换。
其他方法是使用 BeanUtils 类(Apache 公共库)中的 getProperty 方法。但是,限制是它只返回字符串,而不是强类型值。
有没有更好的方法或库实用程序来实现这一点?
【问题讨论】:
-
Java 是强类型语言!
-
嗨 alpesh,我们不会在任何地方妥协类型。使用反射,可以使用属性名称获取属性的值。只是想知道是否有任何库实用程序或更好的方法来实现这一点?
标签: java object reflection type-conversion