Generics duvida codigo nao compila

3 respostas
LPJava

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…

3 Respostas

Rodrigo_Carvalho_Aul

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

LPJava

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

nbluis

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…

Criado 17 de fevereiro de 2007
Ultima resposta 18 de fev. de 2007
Respostas 3
Participantes 3