Я застрял в том, как использовать var. Есть ли разница между этими двумя?
var input = (String) result.get("some field from DB");
String input = (String) result.get("some field from DB");
Я застрял в том, как использовать var. Есть ли разница между этими двумя?
var input = (String) result.get("some field from DB");
String input = (String) result.get("some field from DB");
В java 10 и выше, когда вы используете var
, вы позволяете компилятору попытаться решить, каким должен быть тип переменных. В вашем примере вы используете строку, поэтому она даст эту переменную типа String.
Во втором примере вы специально сообщаете компилятору, что ваша переменная имеет тип String.
Второй безопаснее, если вы знаете, какой тип переменной будет у вас, поскольку он не оставляет путаницы при компиляции.
Но это то же самое? Разве что короче
Во время компиляции они будут одинаковыми да.
Вторая строка на 3 символа короче. Никаких других отличий.