Java泛型 - 混合对象映射

危险仓鼠:

我还是习惯Java的泛型,但是我在更新之前,仿制药的书面使用最新版本的Java应用程序的过程目前是。

问题是代码没有与类型安全考虑写!

我们有一大堆,基本上举行各种对象类型,包括字符串地图。例如:

Map map = new HashMap();
map.put("key1", "String1");
map.put("key2", new Date());
map.put("key3", new CutsomClass());

现在,我仍然要处理这些没有进入重构一大堆代码的最佳方式挣扎。重构是不会在这个时候的选项。

目前,我什么都看不到过去Map<String, Object>虽然Map<String, ? super Object>作品,但我认为它本质上是一回事吗?

迈克尔:

我还是用最好的方式努力处理这些没有进入重构一大堆的代码

所以根本就不更改。原始类型-也就是说, -generic类型-在技术上仍是有效的。这不是理想的,它会产生一个编译器警告,但代码将工作(当然,工作,以及它做过)。

所有类扩展Object,所以你可以把任何价值,你要为以下地图:

Map<String, Object> map = new HashMap<>();

你得到一个额外的保证,关键是一个字符串,所以它有点比使用原始类型。

基本上,虽然,你应该尽量避免使用的地图,如果你不能定义键或值的类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章