首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 5之前的集合和不愿意更改

Java 5之前的集合和不愿意更改
EN

Stack Overflow用户
提问于 2009-11-04 03:43:30
回答 10查看 255关注 0票数 2

我们有几个区域可以看到这样的代码

代码语言:javascript
复制
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;
        }

它工作得非常好。问题是,我很难找到一个理由以一种“通用”的方式重写这个代码,如果我这样做了,Map<String,Object> m会给我带来什么“真正”的好处(除了绑定到String键之外)?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2009-11-04 03:52:21

如果代码有R个阅读器,并且它们花了N毫秒才意识到m是Map<String,Object>,那么使用泛型将节省大约x。R x N毫秒。随着时间的推移,这一点非常重要。此外,您正在改进客户端的文档(使用真实的东西,而不仅仅是Javadoc)。

票数 6
EN

Stack Overflow用户

发布于 2009-11-04 03:51:49

类型安全,这主要意味着在编译时进行错误检测。

这意味着更好的代码和更好的可维护性,因为将来对代码库的更改不太可能破坏某些东西。

但是:你是否应该重写代码只有你自己才能决定。

如果现在一切都很好,你知道你的用户群(可能只有你;-),他们知道他们do.....why投资了改变的成本?此外,在进行更改时,还要考虑引入新错误、和细微错误的可能性(尽管IntelliJ IDEA等集成开发环境支持提供了泛化的帮助)。

票数 6
EN

Stack Overflow用户

发布于 2009-11-04 03:46:04

它提高了可读性和可维护性。传统上,支持和维护是软件开发中最昂贵的方面。提前花点时间,希望以后能为自己省下几块钱。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1669689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档