Java中的以下两行是否相同?

时间:2013-11-08 21:28:41

标签: java concurrenthashmap

return (ConcurrentHashMap)sortedMap;

return new ConcurrentHashMap(sortedMap);

2 个答案:

答案 0 :(得分:7)

没有。第一个是将sortedMap投射到ConcurrentHashMap。第二个是使用提供的ConcurrentHashMap创建新的sortedMap实例;它将具有与sortedMap相同的映射。

在第一个中,您将有一个刚刚被转换为新类型的对象,而在第二个中,两个有两个对象;一个是原始sortedMap,另一个是ConcurrentHashMap的新实例。

答案 1 :(得分:1)

他们不是。

第一个将sortedMap转换为ConcurrentHashMap。转换不会创建新对象。

第二个语句使用与sortedMap相同的映射创建一个新对象。