- Binary Literals - In Java SE 7, the integral types (
byte,short,int, andlong) can also be expressed using the binary number system. To specify a binary literal, add the prefix0bor0Bto the number.
Before:
Java7:
- Underscores in Numeric Literals - Any number of underscore characters (
_) can appear anywhere between digits in a numerical literal. This feature enables you, for example, to separate groups of digits in numeric literals, which can improve the readability of your code.
public void testUnderscoresNumericLiterals() {
int oneMillion_ = 1_000_000; //new
int oneMillion = 1000000;
if (oneMillion_ == oneMillion){
System.out.println(true);
} else{
System.out.println(false);
}
}
- Strings in switch Statements - You can use the
Stringclass in the expression of aswitchstatement.
Before:
Java7:
- Type Inference for Generic Instance Creation (Diamond Operator) - You can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters (
<>) as long as the compiler can infer the type arguments from the context. This pair of angle brackets is informally called the diamond.
Before:
Java7:
- The try-with-resources Statement - The
try-with-resources statement is atrystatement that declares one or more resources. A resource is an object that must be closed after the program is finished with it. Thetry-with-resources statement ensures that each resource is closed at the end of the statement. Any object that implements the newjava.lang.AutoCloseableinterface or thejava.io.Closeableinterface can be used as a resource. The classesjava.io.InputStream,OutputStream,Reader,Writer,java.sql.Connection,Statement, andResultSethave been retrofitted to implement theAutoCloseableinterface and can all be used as resources in atry-with-resources statement.
Before:
Java 7:
- Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking - A single
catchblock can handle more than one type of exception. In addition, the compiler performs more precise analysis of rethrown exceptions than earlier releases of Java SE. This enables you to specify more specific exception types in thethrowsclause of a method declaration.
Before:
Java 7:
- Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods - The Java SE 7 complier generates a warning at the declaration site of a varargs method or constructor with a non-reifiable varargs formal parameter. Java SE 7 introduces the compiler option
-Xlint:varargsand the annotations@SafeVarargsand@SuppressWarnings({"unchecked", "varargs"})to supress these warnings.
No comments:
Post a Comment