一个java简单的小问题??

来源:百度知道 编辑:UC知道 时间:2024/05/27 00:29:01
为什么会报错,不是已经加入泛型了吗?取的时候不是不用类型转换了吗??
import java.util.ArrayList;
import java.util.Iterator;

public class Test1 {

public static void main(String[] args) {
ArrayList<String> a = new ArrayList<String>();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();
while(it.hasNext()){
String s =it.next();//为什么还报错??
System.out.println(s);

}
}
}
可是为为什么要加上toString(),那样泛型还有意义了吗

你的迭代器同样需要泛型化
Iterator<String> it = a.iterator();
while(it.hasNext()){
String s =it.next();
System.out.println(s);
}
既然你用的新特性泛型,不防用新的泛型迭代标签foreach,方便的多,下面就是实现
for (String string : a) {
System.out.println(string);
}

import java.util.ArrayList;
import java.util.Iterator;

public class Test1 {

public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add("遇见");
a.add("3");
a.add("34");
a.add("胜利滋味");
Iterator it = a.iterator();
while(it.hasNext()){

String s =it.next().toString();//这样就好了
System.out.println(s);

}
}
}

若要用泛型则按照WildBoarRider说的做。
不过泛型虽然好用,但是现在还不常用。

这样,默认调用toString()方法;
package day01;
import java.util.ArrayList;
import java.util.Iterator;

public class Test1 {

public static void main(String[] ar