如何转换Map< Object,Object>映射< String,String>在最干净的方式?
有没有办法,不用迭代地图呢?
谢谢
解决方法
我认为这是一个好主意,解释为什么简单的解决方案不起作用,为什么你永远不会使用这个.
假设你可以转换Map< Object>映射< String> ;.您希望从以下代码发生什么:
Map<Object> m = Something; m.add("Looks good."); m.add(new Integer(42)); Map<String> s = (Map<String>)m; // uhuh,no we don't want that.
现在你可以使用波希米亚/克里斯解决方案,但是你基本上会破坏Java的类型系统.不要这样做您不需要Map< String>包含一个整数!稍后调试有趣 – 通过所有变量循环的附加代码将避免很多头痛,几乎不是性能问题.
如果有理由声称地图采取对象而不是字符串有人可能会添加任何对象 – 通常你应该能够避免这种更好的通用.