jdk 7ノート-構文
2662 ワード
1.バイナリ式:
JDK 7からは、整数を表すためにバイナリを使用し、バイナリの前に0 bまたは0 Bを加算する構文を使用します.
2.数値は下線で区切ることができます.
下線は数字の真ん中にしか表示されません.
3.switch文は文字列で判断できます.
4.コンパイラは、モデルインスタンスのタイプに自動的に一致します.
例えばMap:
以下を使用できます.
簡略化します.
5.try-with-resources文:
jdk 7には、リソースを自動的に閉じるための新しいtry-with-resources文が用意されています.このリソースはAutoCloseableインタフェースを実装する必要があります.
例:
この文はまた、複数のリソースを同時に処理し、リソース間で使用することもできます.分割.catch、finally文ブロックを使用できます.
6.catch文は一度に複数のExceptionをcatchできる
複数の例外を再放出する場合は、詳細な例外タイプを定義する必要はありません.メソッド定義時に放出する必要があるタイプを宣言するだけです.
JDK 7からは、整数を表すためにバイナリを使用し、バイナリの前に0 bまたは0 Bを加算する構文を使用します.
byte b = 0b0010;
int i = 0B0010;
long l = 0b0010;
2.数値は下線で区切ることができます.
下線は数字の真ん中にしか表示されません.
int ii = 10_0000_0000;
long ll = 0xFFFF_FFFF_FFFFl;
3.switch文は文字列で判断できます.
private static String getValue(String s)
{
String str = "";
switch(s)
{
case "zhangsan":
str = "xx";
break;
case "lisi":
str = "yy";
break;
default:
str = "unknown";
}
return str;
}
4.コンパイラは、モデルインスタンスのタイプに自動的に一致します.
例えばMap:
Map<String, Map<String, List<String>>> hashMap = new HashMap<String, Map<String, List<String>>>();
以下を使用できます.
Map<String, Map<String, List<String>>> hashMap = new HashMap<>();
簡略化します.
5.try-with-resources文:
jdk 7には、リソースを自動的に閉じるための新しいtry-with-resources文が用意されています.このリソースはAutoCloseableインタフェースを実装する必要があります.
例:
private static String readFirstLine(String path) throws FileNotFoundException, IOException
{
try (BufferedReader reader = new BufferedReader(new FileReader(path)))
{
return reader.readLine();
}
}
この文はまた、複数のリソースを同時に処理し、リソース間で使用することもできます.分割.catch、finally文ブロックを使用できます.
private static String readFirstLine(String path)
{
try (BufferedReader reader = new BufferedReader(new FileReader(path));
BufferedReader reader2 = new BufferedReader(new FileReader(path)))
{
return reader.readLine();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
}
return null;
}
6.catch文は一度に複数のExceptionをcatchできる
private static String readFirstLine(String path)
{
try (BufferedReader reader = new BufferedReader(new FileReader(path));
BufferedReader reader2 = new BufferedReader(new FileReader(path)))
{
return reader.readLine();
}
catch(NullPointerException | IOException e)
{
e.printStackTrace();
}
return null;
}
複数の例外を再放出する場合は、詳細な例外タイプを定義する必要はありません.メソッド定義時に放出する必要があるタイプを宣言するだけです.