SlideShare una empresa de Scribd logo
1 de 6
WildCard (comodín*) en
tipos de datos genéricos
*Traducción posiblemente errónea
Ultimo tema de esto de los genéricos
Empecemos diciendo que hay 3 tipos de wildcards (comodines)
? // unbounded wildcard --- comodin no-encerrado
? extends T // bounded wildcard --- comodín encerrado
? super T // lower-bound wildcard --- comodín bajo_nivel-encerrado
mientras T es un tipo de dato genérico
?
<?> es un comodín que representa cualquier tipo de objeto.
Y es equivalente a <? extends Object>
Y <? extends T> no hay mucho que decir ya que es evidente su función
public class DemoComodin{
public static void main(String…args){
PilaGenerica<Integer> intPila = new PilaGenerica<>();
intPila.push(1);
intPila.push(2);
intPila.push(-4);
imprimir(intPila);
}
// imprime objetos y vacía la pila
public static void imprimir(PilaGenerica<?> pila) {
while( !.pila.isEmpty() )
System.out.print( pila.pop() + “ ” );
}
}
? super T
Usemos un ejemplo.
pila1 contiene Strings y pila2 contiene Objetos y se usan en un método
de suma(pila1, pila2)
La operación genera un error por manejo de tipos inapropiados.
Porque PilaGenerica<String> no es lo mismo que PilaGenerica<Object>.
Entonces <? super T> se utiliza. Object es un supertipo de String.
public class Comodin{
public static void main(String[] args){
PilaGenerica<String> pila1 = new PilaGenerica<>();
PilaGenerica<Object> pila2 = new PilaGenerica<>();
pila2.push( “Hola” );
pila2.push( 2 );
pila1. push( “Mundo” );
suma(pila1, pila2);
Comodin.imprimir(pila2);
}
public static <T> void suma(PilaGenerica<T> pila1, PilaGenerica<? super T> pila2){
while (!pila1.isEmpty())
pila2.push(pila1.pop());
}
}

Más contenido relacionado

La actualidad más candente (19)

Lenguaje c sintaxis
Lenguaje c sintaxisLenguaje c sintaxis
Lenguaje c sintaxis
 
Tipos de datos en c++
Tipos de datos en c++Tipos de datos en c++
Tipos de datos en c++
 
Var const
Var constVar const
Var const
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Cap I
Cap ICap I
Cap I
 
Tipos de datos_de_c_
Tipos de datos_de_c_Tipos de datos_de_c_
Tipos de datos_de_c_
 
Introducción a los tipos de datos
Introducción a los tipos de datosIntroducción a los tipos de datos
Introducción a los tipos de datos
 
4 Datos
4 Datos4 Datos
4 Datos
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 
C
CC
C
 
Estructuras basicas de_c_
Estructuras basicas de_c_Estructuras basicas de_c_
Estructuras basicas de_c_
 
Buenas practicas y código limpio en C#
Buenas practicas y código limpio en C#Buenas practicas y código limpio en C#
Buenas practicas y código limpio en C#
 
Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas) Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas)
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Cadena caracteres
Cadena caracteresCadena caracteres
Cadena caracteres
 
Examen final compiladores
Examen final compiladoresExamen final compiladores
Examen final compiladores
 
Cadena de caracteres
Cadena de caracteresCadena de caracteres
Cadena de caracteres
 
8 tipos variables constantes
8 tipos variables constantes8 tipos variables constantes
8 tipos variables constantes
 
Clase ed v7
Clase ed v7Clase ed v7
Clase ed v7
 

Más de Alejandro Colomer Everett (8)

De java 16 a java 17
De java 16 a java 17De java 16 a java 17
De java 16 a java 17
 
My sql 8.0.22 tips
My sql 8.0.22 tipsMy sql 8.0.22 tips
My sql 8.0.22 tips
 
Fltk on win10 with visual studio
Fltk on win10 with visual studioFltk on win10 with visual studio
Fltk on win10 with visual studio
 
Tipos de datos genéricos encerrados
Tipos de datos genéricos encerradosTipos de datos genéricos encerrados
Tipos de datos genéricos encerrados
 
Clases Genéricas en Java
Clases Genéricas en JavaClases Genéricas en Java
Clases Genéricas en Java
 
Slick2 d and netbeans8 installation problems
Slick2 d and netbeans8 installation problemsSlick2 d and netbeans8 installation problems
Slick2 d and netbeans8 installation problems
 
Problemas con javac
Problemas con javacProblemas con javac
Problemas con javac
 
Solucion a los errores de instalacion de microsoft 2010
Solucion a los errores de instalacion de microsoft 2010Solucion a los errores de instalacion de microsoft 2010
Solucion a los errores de instalacion de microsoft 2010
 

Último

Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx170766
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxMarcosAlvarezSalinas
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 

Último (20)

Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
Sesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptxSesion 03 Formas de absorcion de agua.pptx
Sesion 03 Formas de absorcion de agua.pptx
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 

WildCard

  • 1. WildCard (comodín*) en tipos de datos genéricos *Traducción posiblemente errónea
  • 2. Ultimo tema de esto de los genéricos Empecemos diciendo que hay 3 tipos de wildcards (comodines) ? // unbounded wildcard --- comodin no-encerrado ? extends T // bounded wildcard --- comodín encerrado ? super T // lower-bound wildcard --- comodín bajo_nivel-encerrado mientras T es un tipo de dato genérico
  • 3. ? <?> es un comodín que representa cualquier tipo de objeto. Y es equivalente a <? extends Object> Y <? extends T> no hay mucho que decir ya que es evidente su función
  • 4. public class DemoComodin{ public static void main(String…args){ PilaGenerica<Integer> intPila = new PilaGenerica<>(); intPila.push(1); intPila.push(2); intPila.push(-4); imprimir(intPila); } // imprime objetos y vacía la pila public static void imprimir(PilaGenerica<?> pila) { while( !.pila.isEmpty() ) System.out.print( pila.pop() + “ ” ); } }
  • 5. ? super T Usemos un ejemplo. pila1 contiene Strings y pila2 contiene Objetos y se usan en un método de suma(pila1, pila2) La operación genera un error por manejo de tipos inapropiados. Porque PilaGenerica<String> no es lo mismo que PilaGenerica<Object>. Entonces <? super T> se utiliza. Object es un supertipo de String.
  • 6. public class Comodin{ public static void main(String[] args){ PilaGenerica<String> pila1 = new PilaGenerica<>(); PilaGenerica<Object> pila2 = new PilaGenerica<>(); pila2.push( “Hola” ); pila2.push( 2 ); pila1. push( “Mundo” ); suma(pila1, pila2); Comodin.imprimir(pila2); } public static <T> void suma(PilaGenerica<T> pila1, PilaGenerica<? super T> pila2){ while (!pila1.isEmpty()) pila2.push(pila1.pop()); } }