"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Podemos crear matrices genéricas en Java que se extiendan comparables?

¿Podemos crear matrices genéricas en Java que se extiendan comparables?

Publicado el 2025-03-09
Navegar:730

 Can We Create Generic Arrays in Java That Extend Comparable?

pregunta

¿podemos crear una matriz de genéricos donde el tipo genérico se extiende comparable? Intentos de lanzar una matriz de objeto a una matriz genérica que extienda problemas de cara comparables, planteando la siguiente pregunta: ¿hay una solución alternativa?

respuestas

genéricas y matrices: un puzle de compatibilidad [&]

genics y los rayos tienen genics y las matrices de compatibilidad de la compatibilidad de compatibilidad

[&]

genics y los arrays tienen los genéricos y las matrices de la compatibilidad de la compatibilidad de la compatibilidad

genics y los arrays tienen los genéricos de los moderados de los moderados de los moderados de la compatibilidad de la compatibilidad genics y los rayos tienen los genéricos de las formas de compatibilidad de las compatibilidad. tipos:

matrices: covariant, que significa que sus tipos de elementos conservan su información de tipo en runtime.

genics:
    usa erasure, donde la información de tipo se elimina en el tiempo de ejecución.
  • [&] [&] debido a este mismo, creando un tipos de tipos de tipos que se elimina de los tipos de Generación que se elimina un tipos de General que se elimina un tipos de General que se elimina un tipos de Generación que se elimina a este tipo de ARRANOCTA de General que se elimine a este tipo de ARRANOCHA, creando un tipos de Generación, creando un tipos de Generación, creando un tipos de Generación, creando un Tipo de Generación de que se elimine a este Mismo, creando este Mismo, creación de Tipos de General de General de General. Extender una clase específica no es posible.
  • array.newinstance (): un spoilound
  • una solución potencial es usar el método array.newinstance ():
privado comparable [] hashtable; ... hashtable = (comparable []) array.newinstance (comparable.class, tableize);

este enfoque le permite crear una matriz del tipo genérico supertype (comparable en este caso), pero es importante tener en cuenta que esta matriz no es del tipo genérico deseado. Genéricos?

portabilidad y mantenimiento:

diferentes máquinas virtuales java (jvms) puede manejar el tipo eRasure de manera diferente, haciendo que el comportamiento sea menos portátil y más difícil de mantener. ArrayList, que proporciona una forma eficiente y segura de tipo de gestionar colecciones de objetos genéricos. ArrayLists ofrecen la flexibilidad de los genéricos y evitan las posibles dificultades asociadas con matrices y genéricos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3