java 字符串拼接成属性,然后通过这个属性去取值
时间: 2024-01-19 20:02:41 浏览: 62
可以使用反射来实现。
先将字符串拼接成属性名,例如:
```
String propertyName = "age";
```
然后使用反射获取对象中对应属性的值:
```
Object value = object.getClass().getMethod("get" + StringUtils.capitalize(propertyName)).invoke(object);
```
其中,`object` 是需要获取属性值的对象,`StringUtils.capitalize(propertyName)` 是将属性名的首字母大写,以符合 Java Bean 命名规范。如果是 boolean 类型的属性,则方法名应该是 `is` 开头,例如:
```
String propertyName = "married";
Object value = object.getClass().getMethod("is" + StringUtils.capitalize(propertyName)).invoke(object);
```
注意,这种方式获取属性值需要保证属性名的正确性和对应的 getter 方法存在。
阅读全文