【发布时间】:2016-03-11 23:42:30
【问题描述】:
Oracle Java 社区网站上的一篇文章作为示例(对于 JPA 转换器,但我猜这无关紧要)提供了以下方法:
public Boolean convertToEntityAttribute(String y) {
String val = (String) y;
if(val.equals("Y")){
return true;
} else {
return false;
}
}
将字符串 y 转换为字符串 val 有什么用?这样做有正当理由吗?
【问题讨论】:
-
return val.equals("Y")就足够了... -
不需要这种多余的转换。
-
开发者的错误,就像你我一样。感谢您的识别:)
-
Tunaki - 我会写回 "Y".equals(val)
-
整个示例代码很糟糕。首先,
AttributeConverter需要两个类型参数(正如您所料,它们是您转换自/转换为的两种类型),作者忽略了这一点。结果,该示例甚至无法编译。然后是不必要的演员表,锦上添花的是if (boolean) {return true;} else {return false;}构造。