java - 如果方法采用原始类型,如何将字符串转换为 setter 函数?
问题描述
我正在尝试为一个接受原始类型参数的类生成一个设置器,但是我遇到了一个异常,因为只允许使用非原始类型。
为此,我采用一个字符串并将其完全转换为函数在我的 POJO 中的方式,但是在描述参数的类型 (int) 时,它采用了它的包装类 (Integer)。
Method method = resultClass.getClass().getMethod(getSetMethod(key), value.getClass());
private String getSetMethod(String key) {
key = key.substring(0, 1).toUpperCase() + key.substring(1);
key = "set"+key;
return key;
}
谁能告诉我是否有另一种方法可以生成适用于原始类型和非原始类型的此方法?
解决方案
如果您可以选择添加库。库commons-beanutils可用于处理 bean 和属性。
在你的情况下,你可以这样做:
Method method = PropertyUtils.getReadMethod( new PropertyDescriptor(key, resultClass));
推荐阅读
- javascript - 输入焦点的浏览器自动填充问题
- excel - 调用时显示单独定位的用户窗体跳转
- meteor - 模板助手中的异常:TypeError:无法读取未定义的属性“mergedSchema”
- docker - Docker:安装 apt-utils 时遇到问题
- android - 如何在 React Native for Android 中为文本输入定义插入符号颜色?
- wildfly-swarm - Wildfly Swarm 2018.5.0 不启动 HTTPS 监听
- python - 将参数传递给python中的装饰器
- bash - 如何在 curl 请求中扩展文件名
- vba - 如果语句在 VBA 中没有返回正确的值
- ios - 在 Swift 中同时 Deinit 两个 ViewController