Generics duvida codigo nao compila

ae pessoal pq o codigo nao compila?

import java.util.ArrayList;
import java.util.List;
class Pre{
	
	public static void main(String a[]){
		List<Integer> it = new ArrayList<Integer>();
			it.add(88);
			it.add(9);
			PreR r = new PreR();
			
		System.out.println(r.cha(it));
	
	}
}
class PreR{
	public List<Integer> cha(ArrayList<Integer>a){
	return a;}
}


D:\JAVA\SCJP\revisaoka\cap7\Genericos>javac Pre.java
Pre.java:11: cha(java.util.ArrayList<java.lang.Integer>) in PreR cannot be appli
ed to (java.util.List<java.lang.Integer>)
System.out.println(r.cha(it));
^
1 error

nao conseguir entender o erro…

O método cha está esperando um ArrayList, não um List. O método está esperando um objeto especializado e você está dando um genérico.

Tente isso:

ArrayList<Integer> it = new ArrayList<Integer>();

Ou isso:

public List<Integer> cha(List<Integer>a){

[]'s

Rodrigo Auler

eh verdade!! po que viaje!! essas pegadinhas vai ter no exame tenho certeza!!

Vi várias perguntas do camilo, sobre generics.

Fica ai um link da sum sobre o que mudou na codificação em Java 5.
http://java.sun.com/j2se/1.5.0/docs/guide/language/index.html

Até mais…