#java #android #android_studio #ide
Есть код import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { static void example(){ https://ru.stackoverflow.com/questions System.out.println("Hellolo!"); } public static void main (String[] args) throws java.lang.Exception { example(); } } Почему вроде как чужеродная строка https://ru.stackoverflow.com/questions внутри метода не мешает выполнению программы? Заметил это в Android Studio. IDE выделяет только https с подсказкой Unused label 'https' less... (Ctrl+F1) Reports unused code labels. Приложение компилируется и запускается String example(){ https://ru.stackoverflow.com/questions return "Hello!"; } если из onCreate вызвать if(DEBUG) Log.i("TAG", "example() - " + example() ); На выходе I/TAG: example() - Hello! В следующем виде IDE уже ругается и подчеркивает всю строку void example(){ https://ru.stackoverflow.com/questions } Подсказка - label without statement Примечание: чужеродная значит ни переменная, ни выражение ... (в моем скудном представлении)
Ответы
Ответ 1
Потому что, с точки зрения компилятора вы установили метку (точку безусловного перехода с синтаксисом label:) с именем https за которой следует комментарий (//). Во втором случае нет кода, куда бы ссылалась эта метка
Комментариев нет:
Отправить комментарий