<T extends Object> public void PrintList(Collection<T> coll)
{
Iterator<T> it = coll.iterator();
while(it.hasNext())
{
System.out.println(it.next().toString());
}
}
上述代码编译时报错:非法的类型开始
<T extends Object> public void PrintList(Collection<T> coll)请问高手,如何解决?

解决方案 »

  1.   

    import java.util.*;
    class Print<T extends Collection>{
    public void PrintList(T coll)
    {
    Iterator it = coll.iterator();
    while(it.hasNext())
    {
    System.out.println(it.next().toString());
    }
    }
    }
    我对泛型还了解不透彻,也看不出楼主要实现什么功能,但是在一个方法前面加那样的限定词显然是错误的。
      

  2.   


    import java.util.*;class PrintList<T extends Collection> {
      public void PrintLists(T coll) {
        Iterator it = coll.iterator();
        while (it.hasNext()) {
          System.out.println(it.next().toString());
        }
      }
    }
    哈哈,今天终于学了点东西。
    参考:
    http://blog.csdn.net/vbscript1981/archive/2005/04/20/355308.aspx
    http://www-128.ibm.com/developerworks/cn/java/j-jtp01255.html?ca=dwcn-newsletter-java
      

  3.   

    同学们的答案都集中在对类进行泛型构造的过程中,其实我希望是构造一个泛型函数,今天找到答案了,与各位分享:
    import java.util.*;public class GenericTest_2
    {
    public static <T extends Object> ArrayList<T> CreateList()
    {
    ArrayList<T> myList = new ArrayList<T>();
    //myList.add(new T());
    return myList;
    }

    public static <T extends Object> void  PrintList(Collection<T> coll)
    {
    System.out.println("The collection has " + coll.size() + " elements");
    Iterator<T> it = coll.iterator();
    T ele;
    while(it.hasNext())
    {
    ele = it.next();
    System.out.println("Emelent type:" + ele.getClass() + "\tElement value:" + ele);
    }
    }

    public static void main(String strArgs[])
    {
    System.out.println("This program has no generic element!");
    ArrayList<String> arr = GenericTest_2.CreateList();
    arr.add("Hello");
    //arr.add(2);
    GenericTest_2.PrintList(arr);
    }
    }
      

  4.   

    看来java对"标志符"的位置书写还是蛮讲究的,下次可别写错了:)
      

  5.   

    上面的那个程序,怎么编译没通过?
    D:\e168\WEB-INF\src>javac -d ..\classes cn\tedeyang\test\*.java
    cn\tedeyang\test\GenericTest_2.java:6: illegal start of type
    public static <T extends Object> ArrayList<T> CreateList()
                  ^
    cn\tedeyang\test\GenericTest_2.java:33: <identifier> expected
    }
    ^
    2 errors