// housekeeping/TypeInference.java // (c)2021 MindView LLC: see Copyright.txt // We make no guarantees that this code is fit for any purpose. // Visit http://OnJava8.com for more book information. // {NewFeature} Since JDK 11 class Plumbus {} public class TypeInference { void method() { // Explicit type: String hello1 = "Hello"; // Type inference: var hello = "Hello!"; // Works for user-defined types: Plumbus pb1 = new Plumbus(); var pb2 = new Plumbus(); } // Also works for static methods: static void staticMethod() { var hello = "Hello!"; var pb2 = new Plumbus(); } } class NoInference { String field1 = "Field initialization"; // var field2 = "Can't do this"; // void method() { // var noInitializer; // No inference data // var aNull = null; // No inference data // } // var inferReturnType() { // return "Can't infer return type"; // } }