Record 的那些 get 方法,是不是应该添加一些转换

Record 方法中的 getInt getNumber 都是用的强制转换,但是如果我的Record 是由前台返回而来,很难保证它们的数字不是以字符串的形式返回的,这就造成了我取值的时候回出错    java.lang.String cannot be cast to java.lang.Number

如果能在Record 中getNumber 添加一些转换就会很好

评论区

HingLo

2019-12-04 09:41

建议点击到Record这个类中看看

spKevin

2019-12-04 11:42

@HingLo
public Number getNumber(String column) {
return (Number)getColumns().get(column);
}
public Long getLong(String column) {
Number n = getNumber(column);
return n != null ? n.longValue() : null;
}
代码中是这种,但是如果这列的值是string 比如从前台接过来的,我获取long 就失败

HingLo

2019-12-04 14:05

Model主要是与数据库交互的。前端接收你最好自定义dto 通过bean 工具进行拷贝。这样比较好一点

JFinal

2019-12-06 23:50

@spKevin 这里的麻烦在于: jfinal 也无法知道是什么类型,不好转