Распознает ли Java бесконечные циклы?
Учитывая следующий пример кода:
public class WeirdStuff {
public static int doSomething() {
while(true);
}
public static void main(String[] args) {
doSomething();
}
}
Это допустимая Java-программа, хотя метод doSomething () должен возвращать int, но никогда не возвращает. Если вы запустите его, он закончится бесконечным циклом. Если вы поместите аргумент цикла while в отдельную переменную (например, boolean bool = true), компилятор скажет вам вернуть int в этом методе.
Итак, мой вопрос: это где-то в спецификации Java и есть ли ситуация, когда это поведение может быть полезным?