在Java中键入声明

时间:2012-04-20 20:20:03

标签: java

Iterator<Integer> sth = sth2.sfunc;

我想知道<Integer>这里是什么?它是指迭代器的整数列表还是什么?

2 个答案:

答案 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