Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13709|Respuesta: 0

[Fuente] ¡3 formas de conseguir nombres de clases en Java!

[Copiar enlace]
Publicado en 2/4/2019 17:24:12 | | |
Método para obtener el nombre de la clase
Hay tres formas principales de obtener nombres de clase en Java:

getName()
El retorno es la representación del nombre de clase de la clase en la máquina virtual.

getCanonicalName()
Lo que se devuelve es una representación del nombre de clase más comprensible.

getSimpleName()
Se devuelve la abreviatura de la clase.

¿Cuál es la diferencia?
Tomemos un ejemplo para ver las principales diferencias.

El programa genera los siguientes resultados.

Nombre del método Nombre de la clase
getName com.test.TestClass
getCanonicalName com.test.TestClass
getSimpleName TestClass

getName com.test.TestClass$TestInnerClass
getCanonicalName com.test.TestClass.TestInnerClass
getSimpleName TestInnerClass

getName [Lcom.test.TestClass$TestInnerClass;
getCanonicalName com.test.TestClass.TestInnerClass[]
getSimpleName TestInnerClass[]
[Lcom.test.TestClass$TestInnerClass; Merece la pena explicarlo.

Esta es una codificación de los valores y parámetros de retorno de una función llamada JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ representa un arreglo, uno representa un arreglo unidimensional, como [[ representa un arreglo bidimensional. Después de que L significa descriptor de clase, finalmente; Indica el final del nombre de la clase.

conclusión

1. A partir de los resultados anteriores, se puede ver que getName() y getCanonicalName() no son diferentes al obtener nombres de clase ordinarios, pero sí hay una diferencia entre obtener clases internas y clases de array.

2. getSimpleName() no es diferente al obtener nombres de clase ordinaria y de clase interna, pero sí hay una diferencia al obtener clases de array.





Anterior:En el arranque de Spring, el oyente persistente JPA intercepta añadidos, eliminaciones y modificaciones
Próximo:Java obtiene el tipo de propiedad Object, nombre de propiedad y valor de propiedad
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com