Character.isIdentifierPart () в Java - какое наибольшее целое число, которому функция выдает «true» - PullRequest
0 голосов
/ 24 марта 2019

Я новичок в Java - во время чтения я понял, что есть определенные символы, которые нельзя использовать при именовании идентификатора Java. Хотя я согласен с тем, что символы, доступные для использования, могут быть очень ограниченными из-за клавиатур (не доступных на клавиатурах), я хотел знать, какие символы могут использовать Java для идентификатора. Я написал соответствующий код и использовал Character.isJavaIdentifierPart () - проблема в том, что я не знаю, что использовать в качестве максимального значения int для итерации. потому что установка значения i Character.MAXVALUE (зависит ли это от используемой системы?) ограничивает его значением 65535, и я увидел, что число символов превышает 65535. Может кто-нибудь помочь мне с этим.

for(int i =0;i<Character.MAX_VALUE; i++) {      
printWriter.println(Character.isJavaIdentifierPart(i) + " " + (char) i + " " + i);
System.out.println(i);

}

В случае, если я использую 109385 вместо Character.MAX_VALUE, java все еще идентифицирует определенные символы, которые могут использоваться в идентификаторе за пределами 65535- 1. Может кто-нибудь сообщить мне, какое максимальное значение я могу использовать для идентификации всех символов, которые можно использовать для идентификатора Java, и почему? 2. Правильно ли я понимаю, что, поскольку для моего Character.MAX_VALUE установлено значение 65355, я не могу сохранить за ним ни одного символа.

спасибо!

1 Ответ

2 голосов
/ 24 марта 2019

Unicode содержит более 65536 символов, и новые символы добавляются с каждой новой версией Unicode.Таким образом, в то время как для любой конкретной версии Unicode можно идентифицировать действительный символ части идентификатора Java с наибольшим кодом, это значение, вероятно, будет отличаться для будущих версий, и Character.MAX_CODE_POINT, вероятно, является единственной надежной верхней границей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...