Sao os “Generics”…
Rafael
Sao os “Generics”…
Rafael
public class MeuVetorFixo<Tipo>{
private Tipo vetor[100];
public Tipo pegaElementoNaPosicao(int i) {
return this.vetor[i];
}
}
Aqui voce pode dar um new MeuVetorFixo<String> ou de outra coisa, e nao vai precisar de casting.
[quote=“Paulo Silveira”][code]
public class MeuVetorFixo{
private Tipo vetor[100];
public Tipo pegaElementoNaPosicao(int i) {
return this.vetor[i];
}
}
[/code]
Aqui voce pode dar um new MeuVetorFixo<String> ou de outra coisa, e nao vai precisar de casting.[/quote]
Então eu poderei fazer isto?
String abc = meuVetorFixo[i];
??? :shock:
nao pq nao eixste operatoroverloadmas isso pode:
String abc = meuVetorFixo.get(i);
Então, realmente eu não entendí este <Tipo>
public class MeuVetorFixo<Tipo> {}
[quote=“danieldestro”]Então, realmente eu não entendí este <Tipo>
public class MeuVetorFixo<Tipo> {}
Eh o tipo do objeto… tipo
MeuVetorFixo<String> v = new MeuVetorFixo<String>();
v.add("ssss"); // ok
v.add("aaaa"); // ok
v.add(new OutraClasse()); // erro
Se voce fizesse
MeuVetorFixo<AlgumaOutraClasse> = ...;
entao vc somente trabalharia com objetos do tipo “AlgumaOutraClasse”.
Rafael
Generics servem para parametrizar o(s) tipo(s) de dado(s) que uma Collection irá suportar. Por exemplo, caso você queira criar um ArrayList que só pode armazenar objetos do tipo Usuario, você faria:
ArrayList<Usuario> l = new ArrayList<Usuario>();
l.add(new Usuario("Daniel")); //ok
l.add(new Usuario("Maria")); //ok
l.add(new String("Bla bla")); // erro de compilação.
Você também pode parametrizar tipos que seus VO’s irão suportar:
public class Foo<T implements Serializable, U implements Serializable> implements Serializable{
private T t;
private U u;
// getters, setters e o que mais sua imaginação quiser...
}
Pessoal,
Peguei a API do 1.5 e BUMMMMMMMM
hehehehhehe
Alguém pode fazer a gentileza de me dizer o que significa isso?
[quote]
public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
[/quote][quote]
public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)[/quote]
O que também eu tenho visto muito é: public Class<T> get…()
Vlw
Ae pessoal, um tutorialzinho ae de generics.
Ainda não li, mas espero esclarecer mais minhas dúvidas.
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
T+