关于 java 泛型的 问题 分一定给 !!!帮帮我

TreeSetts=newTreeSet(newLenComparator());//这里我没有定义泛型ts.add("ddac");ts.add("a");ts.add... TreeSet ts=new TreeSet(new LenComparator());//这里我没有定义泛型
ts.add("ddac");
ts.add("a");
ts.add("ccc");
ts.add("abc");
Iterator<String> it=ts.iterator();//这里我定义了泛型,现在ts里的数据不是String类型,我将数据给了迭代器,迭代器的泛型是String,为啥没有报错。
while(it.hasNext()) //下面我用迭代器进行取出为啥可以啊
{
String s=it.next();
System.out.println(s+"......"+s.length());
}
展开
 我来答
百度网友1785ee410
2017-01-10 · TA获得超过570个赞
知道小有建树答主
回答量:782
采纳率:80%
帮助的人:177万
展开全部
java 的泛型是伪泛型的……编译后会变成 object。
真泛型出门左转 C# 或右转 C++。
你看着高兴就好。
更多追问追答
追问
啥意思 Iterator it=ts.iterator();  这个我把ts的元素 传给了it,ts元素是原类型,这里迭代器泛型是String,为什么不会报错。  难道他内部自己强制类型转换成String了?
String s=it.next();
String s=(String)it.next();这样不才是转换吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式