说Iterator<Integer> sth = sth2.sfunc;
我想知道<Integer>
这里是什么?它是指迭代器的整数列表还是什么?
答案 0 :(得分:4)
这是generics用于增加type safety的示例。 Iterator
是参数化类型,在这种情况下,Integer
用作其类型参数。
效果很简单,编译器知道next()
的{{1}}方法总是返回Iterator<Integer>
,所以你不必显式地强制转换它(编译器会这样做)对你而言),如果你不小心尝试将其强制转换为Integer
,你会得到一个编译器错误 - 前缀为String
Iterator
方法返回next()
直到运行时才会注意到这一点。
答案 1 :(得分:1)
其generics
在java中的type safety
集合中...所以在您的情况下只有<Integer>
值,您可以添加和重新选择...而且Iterator<Integer>
始终返回一个整数...
见这里.... http://docs.oracle.com/javase/tutorial/java/generics/index.html