در جاوا برای تعریف یک متغیر، لازم است تا نوع متغیر در تعریف مشخص باشد:
List<String> list = new ArrayList<>();
Stream<String> stream = list.stream();
در جاوا ۱۰، قابلیتی اضافه شده است که نوع متغیرهای محلی میتواند به صورت خودکار از مقدار تعریفشده در سمت راست عبارت استنتاج شود. این قابلیت با کلیدواژه var در دسترس است:
var list = new ArrayList<String>();
var stream = list.stream();
این قابلیت فقط برای متغیرهای محلی در متدها قابل استفاده است و برای فیلدهای کلاس، پارامترهای متد یا نوع بازگشتی متد قابل استفاده نیست.