Local variable type inference: var

Changes in new versions / Java 10

import java.util.*;

// *** before: ***
Map<String, List<Integer>> map1 = new HashMap<String, List<Integer>>();
Map.Entry<String, List<Integer>> first1 = null;

// *** in version 10: ***
var map2 = new HashMap<String, List<Integer>>();   // the type is inferred
map2.put("odd", List.of(1, 3, 5));

var text = "the type is String";
var number = 42;                  // int, not Integer and not long
var list = new ArrayList<String>();

System.out.println(map2);
System.out.println(text.length() + number + list.size());