将具有类型转换的值分配给Java中对象的属性的最佳方法是什么。
例如:年龄字段为整数的 Person 类。如果以下语句必须将整数 21 分配给年龄字段,那么 set 方法的实现应该是什么?[注意:21 作为字符串传递]
ObjectUtils.set(person, "age", "21");
一种方法是获取字段的类型并显式地进行类型转换。有没有更好的方法或库实用程序可以实现这一目标?
将具有类型转换的值分配给Java中对象的属性的最佳方法是什么。
例如:年龄字段为整数的 Person 类。如果以下语句必须将整数 21 分配给年龄字段,那么 set 方法的实现应该是什么?[注意:21 作为字符串传递]
ObjectUtils.set(person, "age", "21");
一种方法是获取字段的类型并显式地进行类型转换。有没有更好的方法或库实用程序可以实现这一目标?
设置指定的属性值,根据需要执行类型转换以符合目标属性的类型。
在您的 set 方法中使用 Integer.parseInt(String) 。确保捕获无效号码的异常。这是 parseInt 的 hte javadoc
解析整数
public static int parseInt(String s) throws NumberFormatException将字符串参数解析为有符号十进制整数。字符串中的字符必须都是十进制数字,除了第一个字符可以是 ASCII 减号“-”(“\u002D”)表示负值。返回结果整数值,就像参数和基数 10 作为参数提供给 parseInt(java.lang.String, int) 方法一样。参数: s - 一个包含要解析的 int 表示形式的字符串 返回: 由十进制参数表示的整数值。抛出: NumberFormatException - 如果字符串不包含可解析的整数。