我们有几个区域可以看到这样的代码
public Map extractData(ResultSet rs) throws SQLException, DataAccessException {
Map m = new HashMap();
while(rs.next()){
Jurisdiction j = new Jurisdiction();
m.put("code",rs.getLong(1) );
m.put("type",rs.getString(2));
m.put("id",rs.getLong(3) )
}
return m;
}
Run Code Online (Sandbox Code Playgroud)
哪作得很好.问题是我很难找到一个以"通用"的方式重写它的理由,如果我做了"真正的"好处Map<String,Object> m给了我(除了绑定String键)?
类型安全,这主要意味着在编译期间检测错误.
这意味着更好的代码和更好的可维护性,因为对代码库的未来更改不太可能破坏某些东西.
但是:您是否应该重新编写代码只是您可以做出的决定.
如果现在一切正常,你就知道你的用户群(也许只有你;-)而且他们知道他们做了什么.....为什么要投入改变成本?还要考虑在进行更改时引入新错误和细微错误的可能性(尽管像IntelliJ IDEA这样的IDE支持有[generify]帮助).
如果有代码的R读者,并且需要N毫秒来实现m Map<String,Object>,那么使用泛型将节省大约.R x N毫秒.随着时间的推移,这很重要.此外,您正在改进客户端的文档(使用真实的东西,而不仅仅是Javadoc).
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |