saludos
--
Alfredo Paz-Valderrama
Sociedad Peruana de Computación
ahora sí allí va la dirección del blog.
saludos
2010/3/14 Alfredo Paz Valderrama <alfre...@gmail.com>:
List myIntList = new LinkedList(); // 1
myIntList.add(new Integer(0)); // 2
Integer x = (Integer) myIntList.iterator().next(); // 3
Y usando subtipos genericos
List<Integer> myIntList = new LinkedList<Integer>(); // 1’
myIntList.add(new Integer(0)); //2’
Integer x = myIntList.iterator().next(); // 3’
Como se observa en el codigo se consigue dos cosas. La primera y mas
obvia es evitar el cast y la segunda es que se consigue que el
compilador pueda chequear si el tipo es correcto.
Ademas estos tipos genericos se compilan una sola vez, y se convierten
en un archivo de clase, como cualquier otra declaracion de clases o
interfaces.
Los tipos genericos nos permiten usar wildcards o comodines. Por
ejemplo:
void printCollection(Collection<?> c)
{
for (Object e : c)
{ System.out.println(e);
}
}
Esta funcion nos permite imprimir una coleccion sin importar su tipo.
Los tipos genericos dan una gran flexibilidad.
Este link habla mas detalladamente sobre tipos genericos.
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
Jose Carlos Manrique
On Mar 14, 7:27 pm, Alfredo Paz Valderrama <alfredop...@gmail.com>
wrote:
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
Los subtipos genericos como se muestra en el blog pueden parecer
similares a los templates en C++, pero el compilador los trata de
manera diferente. En el caso de los templates el compilador no compila
el archivo template hasta que se especifica un tipo, en ese momento el
compilador inserta el codigo con el tipo definido, inclusive si es que
ya se ha definido este tipo anteriormente.
Los subtipos genericos son compilados una sola vez como cualquier
tipo. Esto se logra usando el lenguaje intermedio (IL o CLR). Se
almacena parametros o place holders y metadata. Estos parametros y
metadata seran reemplazados luego, cuando se especifique el tipo.
Los subtipos genericos nos brindan mayor seguridad consiguiendo que el
compilador sepa con que tipos se trabaja. Se consigue lo que se conoce
como type-safety. Ademas evitan el uso de casts, lo que mejora el
desempeno.
Jose Carlos Manrique
aqui dejo el link http://www.marteens.com/pdfs/csharp_intsight.pdf
esta en la pagina 81.