Насколько мне известно, ярлык разрыва кода 65 означает, что он вырвется из области while, но это то же самое с областью label165.
На самом деле, он прорвется до конца обозначенного заявления. Если вы внимательно посмотрите на кронштейны, это означает, что он перерывается непосредственно перед
++beforeIdx;
в конце цикла.
Что такое функция label lable165?
См. Выше.
Это лучшая практика в отношении Java, о которой я не знаю.
Это не лучшая практика. Способ использования этого ярлыка делает код трудным для понимания, и это практическая практика.
Фактически, если это рукописный код, то я подозреваю, что он не делает то, что автор считает. Если вы посмотрите на материал с флагом returnEarly
, он устанавливается в обработчике исключений, а затем проверяется в инструкции после try ... catch
. Но обработчик также разбивается на ярлык, который пропускает утверждение if
!
То, что может быть преднамеренным, но если это то, это ужасно скрытый/запутанный способ кодирования этой логики.
@cryslis писал:
Примечание мой ответ. Я думаю, что это декомпилировалось.
Я также подозреваю, что это был декомпилированный код. Странные локальные имена (label65
и var18
) - еще одна подсказка.
Однако, вы сказали, что нашли исходный код репозитория Github. Эти две вещи не являются взаимоисключающими ... но если кто-то декомпилирует код и загружает его в Github, это довольно шонки и, возможно, незаконно. Я не хотел указывать пальцем без очевидных доказательств. И я не могу найти исходный код с label65
и var18
в репо.
Конечно, это не «лучшая практика» для декомпиляции кода и загрузки его в Github.
И если вы получаете байт-коды и пытаетесь понять их путем декомпиляции, то это тоже не «лучшая практика».
Ваш вопрос довольно неясен, пожалуйста, отредактируйте его – UnknownOctopus
Я не думаю, что здесь необходим ярлык ... – texasbruce
Звучит для меня как другой вопрос, основанный на мнениях .. –