В API символов Java 19 я увидел 2 метода:
Первый применяется к идентификаторам Java, а второй — к идентификаторам Unicode.
Однако я не понимаю различий между двумя типами идентификаторов.
Кто-нибудь может объяснить? И пример пожалуйста.
Спасибо за всех.
Какой пример вы хотите? Например, как $ не является началом идентификатора Unicode, а является началом идентификатора Java?
Я просто хочу знать, в каком случае (контексте) мы используем идентификатор Java? Юникод идентификатор?
Например, переменная является случаем идентификатора Java. А когда и где мы используем идентификатор Unicode?
Вы читали документ, на который ссылается JavaDoc? Прочтите краткий раздел — «Идентификатор Unicode» — это просто «рекомендуемый вариант по умолчанию» для «идентификатора общего назначения».




Идентификатор Java — это последовательность символов, которая будет распознана компилятором Java как символ идентификатора. Это указано в Спецификации языка Java; см. JLS 3.8
Идентификатор Unicode — это совсем другое. Идентификаторы Unicode указаны в документе Unicode UAX #31 — Unicode Identifier and Pattern Syntax. Говорится:
Распространенной задачей, стоящей перед реализатором стандарта Unicode, является предоставление механизма синтаксического анализа и/или лексического анализа идентификаторов, таких как переменные языка программирования или доменные имена. Существуют также области, в которых идентификаторы необходимо определять с помощью расширенного набора символов, чтобы лучше соответствовать ожиданиям конечных пользователей, например, в хэштегах.
Чтобы помочь в стандартной обработке идентификаторов в синтаксических анализаторах на основе символов Unicode и лексических анализаторах, здесь предоставляется набор спецификаций в качестве основы для анализа идентификаторов, содержащих символы Unicode. Эти спецификации включают в себя:
- Идентификаторы по умолчанию: рекомендуемое значение по умолчанию для определения идентификаторов.
- Неизменяемые идентификаторы: для сред, которым требуется определение идентификаторов, которое не меняется в разных версиях Unicode.
- Идентификаторы хэштегов: для идентификаторов, которым требуется более широкий набор символов, в основном для хэштегов.
Другими словами, это общий синтаксис для идентификаторов, определенных Unicode для использования в различных стандартах Unicode и продуктах данных, а также в программном обеспечении, которое "потребляет" эти продукты... в некотором смысле. Они также могут быть приняты другими языками программирования.
Java НЕ приняла идентификаторы Unicode. Однако идентификаторы Unicode используются в некоторых библиотеках Java SE; например в регулярных выражениях Java, определенных классом Pattern. (Примеры см. в разделе «Поддержка Unicode» javadoc.)
Я просто хочу знать, в каком случае (контексте) мы используем идентификатор Java? Юникод идентификатор?
Очевидно, вы используете идентификатор Java в исходном коде Java, и вы используете идентификатор Unicode, когда вам нужно сослаться на скрипт Unicode, блок, категорию... или что-то подобное.
Точно так же вы используете эти методы при написании кода для разбора или проверки (соответственно) идентификаторов Java или Unicode... для какой-то цели. Я оставлю вам подумать о практических вариантах использования1.
1 - If you can't think of any, it doesn't matter. I can't think of practical use-cases for unicycles2 ... that's no reason for them to not exist either as a concept or in reality.
2 - I don't count pizza delivery by unicycle as practical.
привет @Sweeper, конечно, я прочитал это. Но я не понимаю различий между ними; и мне нужен пример, чтобы ясно понять.