Over a million developers have joined DZone.

Project Coin Examples with JDK 7 Developer Preview

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

Mark Reinhold announced availability of the first JDK 7 developer preview today. Reason enough for me to give some of the Project Coin features a shot. I won't get into details here, but instead just show some quick examples. Most of them are self-explanatory anyway.

Code is also available via github.

Strings in switch

final String str = "foo";

switch (str) {
case "foo":
System.out.println("mooh");
break;
case "bar":
System.out.println("miau");
break;
default:
break;
}

Binary integral literals and underscores in numeric literals

final int large = 1_000_000;
System.out.println(large);

final int binary = 0b1011;
System.out.println(binary);

Multi-catch and more precise rethrow

 

class ExA extends Exception {}
class ExB extends Exception {}

public void testMultiCatch() {

final int a = 0;

try {
if (a == 0) {
throw new ExA();
}
if (a == 1) {
throw new ExB();
}
} catch (ExA|ExB ex) {
System.out.println(ex.getClass() +
" was thrown and caught");
}

}

public void testReThrow() throws ExB {

final int a = 0;

try {
if (a == 0) {
throw new ExA();
}
if (a == 1) {
throw new ExB();
}
} catch (final ExA exa) {
System.out.println("Exa was caught");
} catch (final Exception ex) {
System.out.println(ex.getClass() +
" was thrown, caught and rethrown");
throw ex;
}

}

Improved type inference for generic instance creation (diamond)

final List<String> list = new ArrayList<>();
list.add("Foo");

System.out.println(list);

try-with-resources statement

try (final BufferedReader br = new BufferedReader(new FileReader("./TestAutomaticResourceManagement.java"))) {

String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}

} catch (final IOException e) {
}

From http://stronglytypedblog.blogspot.com/2011/02/project-coin-examples-with-jdk-7.html

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.

Topics:

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}