Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 13709|Ответ: 0

[Источник] 3 способа получить имена классов на Java!

[Скопировать ссылку]
Опубликовано 02.04.2019 17:24:12 | | |
Метод получения названия класса
Существует три основных способа получения имён классов в Java:

getName()
Возврат — это представление названия класса класса в виртуальной машине.

getCanonicalName()
То, что возвращается, — это более понятное представление названий класса.

getSimpleName()
Возврат — это сокращение класса.

В чём разница?
Давайте возьмём пример, чтобы увидеть основные различия.

Программа даёт следующие результаты.

Имя метода Название класса
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; Это стоит объяснить.

Это кодирование возвращаемых значений и параметров функции, называемой JNI Field Descriptors (JavaNative Interface Field Descriptors).

[ — массив, один — одномерный массив, например [[ — двумерный массив. После L означает классовое обозначение, наконец; Указывает конец названия класса.

заключение

1. Из приведённых выше результатов видно, что getName() и getCanonicalName() не отличаются при получении обычных имён классов, но существует разница между получением внутренних классов и классов массива.

2. getSimpleName() ничем не отличается при получении обычных классов и внутренних классов, но есть разница при получении классов массива.





Предыдущий:В Spring boot постоянный слушатель JPA перехватывает добавления, удаления и модификации
Следующий:java получает тип свойства объекта, имя свойства и значение свойства
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com