Map.Entry m =(Map.Entry)i.next();

Pro*_*tak 1 java

为什么我需要(Map.Entry)在前面i.next();?为什么我不能拥有Map.Entry m = i.next();

抱歉.这是一个HashMap.

Bal*_*usC 5

因为它显然不是一个Iterator<Map.Entry>.也许它是一个Iterator<Object>,或一个Iterator<Map.Entry<String, String>>或不同的东西.

例如,以下内容 Map

Map<String, Object> map = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)

给出以下Iterator回复

Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
Run Code Online (Sandbox Code Playgroud)

这又给出了如下Map.Entry的回next()

Map.Entry<String, Object> entry = iterator.next();
Run Code Online (Sandbox Code Playgroud)