加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

返回语句应该在Java中使用泛型吗?

发布时间:2020-12-15 02:01:46 所属栏目:Java 来源:网络整理
导读:我有一个关于在编码中使用“最佳实践”的基本问题. (我正在使用 Java,但问题对于OOP来说是一般性的.)当为一个打算长期使用的类编写方法时,是否最好留下返回对象有或没有泛型? 在我的情况下具体来说,我正在返回一个Map String,Integer用这个方法.我应该在ret
我有一个关于在编码中使用“最佳实践”的基本问题. (我正在使用 Java,但问题对于OOP来说是一般性的.)当为一个打算长期使用的类编写方法时,是否最好留下返回对象有或没有泛型?

在我的情况下具体来说,我正在返回一个Map< String,Integer>用这个方法.我应该在return语句中指定它,还是应该只返回一个Map?

解决方法

最好尽可能使用泛型.它将有助于避免运行时异常,并且它不会强迫使用您的代码的人进行一堆丑陋的类型转换.例如,如果您使用以下签名:

Map<String,Integer> getMap();

…然后消费代码可能如下所示:

Map<String,Integer> map = getMap();
Integer val = map.get(key);

…但是如果你使用这样的签名:

Map getMap();

…消费代码可能如下所示:

Map<String,Integer> map = (Map<String,Integer)getMap();
Integer val = map.get(key);

通过使用泛型,不仅可以保存(Map< String,Integer>)强制转换,但是如果您更改getMap以实际返回Map< String,Object>,您将收到编译时错误(这是容易捕获和修复),而不是在调用map.get(key)时可能会出现异常,并且JRE尝试将某个随机Object自动转换为Integer.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读