Local-Variable Type Inference Java 10 Example 📎
Java 9 legacy code:
@Test
public void java9Legacy() {
Map<String, String> devs = new HashMap();
devs.put("duke", "java8");
for (Map.Entry<String, String> dev : devs.entrySet()) {
System.out.println(dev.getKey() + " " + dev.getValue());
}
}
...can be streamlined with Java 10 and Local-Variable Type Inference (JEP-286):
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
public class VariableTypeInferenceTest {
@Test
public void inferTypeWithJava10() {
var modernDevs = new HashMap<String, String>();
modernDevs.put("duke", "java10");
for (var dev : modernDevs.entrySet()) {
System.out.println(dev.getKey() + " " + dev.getValue());
}
}
}
The code above runs on openJDK 10 GA JDK 10, was edited with Apache Netbeans 9 and built with Maven 3.5.0
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.airhacks</groupId>
<artifactId>variable-type-inference</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>10</maven.compiler.source>
<maven.compiler.target>10</maven.compiler.target>
</properties>
</project>
See you at Java EE Workshops at Munich Airport, Terminal 2 or Virtual Dedicated Workshops / consulting. Is Munich's airport too far? Learn from home: airhacks.io.