JEP 286: Local-Variable Type Inference Summary Enhance the Java Language to extend type inference to declarations of local variables with initializers. Goals We seek to improve the developer experience by reducing the ceremony associated with writing Java code, while maintaining Java's commitment to static type safety, by allowing developers to elide the often-unnecessary manifest declaration of local variable types. This feature would allow, for example, declarations such as: var list = new ArrayList<String>(); // infers ArrayList<String> var stream = list.stream(); // infers Stream<String> This treatment would be restricted to local variables with initializers, indexes in the enhanced for -loop, and locals declared in a traditional for -loop; it would not be available for method formals, constructor formals, method return types, fields, catch formals, or any other kind of variable declaration. Success Criteria Quantitatively, w...