Вывод типа в цикле, который использует var - PullRequest
0 голосов
/ 15 мая 2018

Вообще я знаю как работает вывод типов в Java. Но мне любопытно, как это работает в цикле, когда вы используете новую функцию JDK 10 var .

Я имею в виду, что я могу написать цикл таким образом

for(var i=0; i<100; i++) {
//something to do
}

Как компилятор делает вывод, что должен быть int , а не long ?

1 Ответ

0 голосов
/ 15 мая 2018

Потому что 0 является литералом int.0L является литералом long.

true является литералом boolean, "true" является литералом String.У компилятора нет проблем с обработкой простых случаев, подобных этим.

...