编译时如下错误:
warning:[unchecked] unchecked call to add[E] as a member of the 
raw type java.util.ArrayList
      books.add(book);
1 warning
(注:books被申明为ArrayLis类型的对象一个引用:ArrayList books=new ArrayList();
     book是我自定义的一个类对象的引用。)

解决方案 »

  1.   

    楼主用的应该是jdk1.5吧,这个是1.5新加的警告,要去掉警告改成
    ArrayList<book> books = new ArrayList<book>();这样以后get的时候就不用强制类型转换了,编译器知道得到的是book类型的
      

  2.   

    谢谢楼上几位啊,不过还有个问题,我用了ArrayList<book> books = new ArrayList<book>();之后,就不能用Collections.sort(books)将books转换为Collection类型了,错误提示竟然是无法找到sort这个方法,请问这时要将books有ArrayList转换为Collection类型该怎么办呀?
      

  3.   

    public class Test {
    public static void main(String[] args){
    Book[] book = new Book[]{new Book(3.1,"aa"),
    new Book(2.3,"bb"), new Book(4.3,"cc")};
    List<Book> list = new ArrayList<Book>();
    for(int i=0; i<book.length; i++){
    list.add(book[i]);
    }

    System.out.println("Before sort:\t"+list);

    Collections.sort(list);
    System.out.println("After sort:\t"+list);
    }
    }class Book implements Comparable{
    private double price;
    private String author;

    public Book(double p, String a){
    price = p;
    author = a;
    }

    public int compareTo(Object b){
    Book book = (Book)b;
    return (price<book.price? -1 : (price==book.price? 0 : 1));
    }

    public String toString(){
    return "price:"+price+"  author:"+author;
    }
    }
      

  4.   

    假如楼主自己定义了一个Comparator,那么你的Collections.sort(books,new YourComparator());