关于Map.Entry泛型接口的问题

SKY862390450 2019-11-28 09:43:28
import java.util.*;
public class abc {
public static void main(String[] args) {
Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry entry = iterator.next();
Object key = entry.getKey();//
}
}

}
请大神帮我来看一下为什么下面这句话会报错?
 Map.Entry entry = iterator.next();
Incompatible types.
Required:
java.util.Map.Entry
<,
>
Found:
java.lang.Object
...全文
114 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
SKY862390450 2019-11-28
  • 打赏
  • 举报
回复
引用 10 楼 小包包007的回复:
大神称不上,,,也是刚毕业,,,想着互相交流呀,,有问题可以@我,,嘿嘿
嗯,我刚大三软件工程专业,交个朋友
小包包007 2019-11-28
  • 打赏
  • 举报
回复
大神称不上,,,也是刚毕业,,,想着互相交流呀,,有问题可以@我,,嘿嘿
SKY862390450 2019-11-28
  • 打赏
  • 举报
回复
引用 7 楼 小包包007的回复:
你这个泛型编译后默认的Object类型,你可以拿Object接收,但是父类转子类必须加强转
大神有时间的话看下我的下一个帖子
SKY862390450 2019-11-28
  • 打赏
  • 举报
回复
引用 7 楼 小包包007的回复:
你这个泛型编译后默认的Object类型,你可以拿Object接收,但是父类转子类必须加强转
哦,这个明白了,最基本的我忘了
小包包007 2019-11-28
  • 打赏
  • 举报
回复
你这个泛型编译后默认的Object类型,你可以拿Object接收,但是父类转子类必须加强转
SKY862390450 2019-11-28
  • 打赏
  • 举报
回复
引用 4 楼 小包包007的回复:
你的疑问可以看下泛型和object的区别,避免误导你
就是这个疑问,为啥要把iterator.next()强制转化呢?iterator.next()不是Map.Entry类型吗?这点我没搞懂
小包包007 2019-11-28
  • 打赏
  • 举报
回复
你的疑问可以看下泛型和object的区别,避免误导你
小包包007 2019-11-28
  • 打赏
  • 举报
回复
你这代码看的迷糊了下,,,sorry,,,你看看应该这样写
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class a {
	public static void main(String[] args) {
		Map map = new HashMap();
		Iterator iterator = map.entrySet().iterator();
		while (iterator.hasNext()) {
			Map.Entry entry = (Map.Entry) iterator.next();
			Object key = entry.getKey();//
		}
	}
}
SKY862390450 2019-11-28
  • 打赏
  • 举报
回复
引用 1 楼 小包包007 的回复:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class a {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
}
}
}
也就是说泛型对象只能由相同类型的泛型变量引用吗?
小包包007 2019-11-28
  • 打赏
  • 举报
回复
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class a {
	public static void main(String[] args) {
		Map<String, String> map = new HashMap<>();
		Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
		while (iterator.hasNext()) {
			Map.Entry<String, String> entry = iterator.next();
			String key = entry.getKey();
		}
	}
}

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧