- Project Coin: 言語仕様に関する小さな変更群
- NIO.2: NIOの改良
- Fork/Join Framework: 並列処理の実装を容易にするらしい
- InvokeDynamic: 動的型付けでメソッド呼び出しをできるらしい
switch構文のスイッチにStringが使えるようになった
その他使えるのは(おおよそ)、整数型もろもろと列挙型。
数値リテラルに2進数表現が追加された
0b01110010
可読性向上のため、数値リテラルに_が挿入できるようになった
1234_5678
処理前にreplace("_","")される
クローズ処理は、catch, finallyブロックより先に呼ばれて、作成時と逆の順番で呼ばれる。
try-with-resources文のブロックでもtryブロックでも例外がスローされた場合、tryブロックの中の例外の方が優先されて、try-with-resources文の方の例外は抑制された例外というのになる。
(これによりどういうスニペットができるんだろう?)
詳しい動作についてはいつもの:
ひしだま's 技術メモページ: Javaステートメント リソース付きtry文
http://www.ne.jp/asahi/hishidama/home/tech/java/statement.html#try_with_resources_statement
記法、公募したんですね!pull request募集みたいな感じ?
例外のマルチキャッチ
これ知ってた。
catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
例外の再スロー
再スローする例外を細かく指定できるようになった。static class FirstException extends Exception { }
static class SecondException extends Exception { }
public void rethrowException(String exceptionName) throws Exception -> FirstException, SecondException {
try {catchしているのがExceptionになるため、Java SE 6まではthrows節にはExceptionwしか書けなかったんだそうな。
if (exceptionName.equals("First")) {
throw new FirstException();
} else {
throw new SecondException();
}
} catch (Exception e) {
throw e;
}
}
ダイヤモンド演算子
これも知ってた。例は略。try-with-resources文
リソースのクローズを自動的にやってくれる。try (tryの()の中(=try-with-resources文)で、java.lang.AutoCloseable インタフェースを実装しているオブジェクトの初期化をすると、自動的にclose()が呼ばれる。
java.util.zip.ZipFile zf = new java.util.zip.ZipFile(zipFileName);
java.io.BufferedWriter writer = java.nio.file.Files.newBufferedWriter(outputFilePath, charset)
) {
// Enumerate each entry
for (java.util.Enumeration entries = zf.entries(); entries.hasMoreElements();) {
// Get the entry name and write it to the output file
String newLine = System.getProperty("line.separator");
String zipEntryName = ((java.util.zip.ZipEntry)entries.nextElement()).getName() + newLine;
writer.write(zipEntryName, 0, zipEntryName.length());
}
}
クローズ処理は、catch, finallyブロックより先に呼ばれて、作成時と逆の順番で呼ばれる。
try-with-resources文のブロックでもtryブロックでも例外がスローされた場合、tryブロックの中の例外の方が優先されて、try-with-resources文の方の例外は抑制された例外というのになる。
(これによりどういうスニペットができるんだろう?)
詳しい動作についてはいつもの:
ひしだま's 技術メモページ: Javaステートメント リソース付きtry文
http://www.ne.jp/asahi/hishidama/home/tech/java/statement.html#try_with_resources_statement
記法、公募したんですね!pull request募集みたいな感じ?
あとJSRが何か分かってないです。仕様?RFC的な。
(寺田佳央さん)
http://www.ne.jp/asahi/hishidama/home/tech/java/uptodate.html#JDK1.7
ORACLE: 複数の例外型のキャッチと型チェックが改善された例外再スロー
http://docs.oracle.com/javase/jp/7/technotes/guides/language/catch-multiple.html
ORACLE: try-with-resources 文
http://docs.oracle.com/javase/jp/7/technotes/guides/language/try-with-resources.html
ITPro: Java SE 7の新機能を読み解く (桜庭祐一さん)
http://itpro.nikkeibp.co.jp/article/COLUMN/20120417/391316/
参考:
slideshare: New Feature of Java SE 7 -Java SE 7で切り開く新しいJavaの世界について(寺田佳央さん)
http://www.ne.jp/asahi/hishidama/home/tech/java/uptodate.html#JDK1.7
ORACLE: 複数の例外型のキャッチと型チェックが改善された例外再スロー
http://docs.oracle.com/javase/jp/7/technotes/guides/language/catch-multiple.html
ORACLE: try-with-resources 文
http://docs.oracle.com/javase/jp/7/technotes/guides/language/try-with-resources.html
ITPro: Java SE 7の新機能を読み解く (桜庭祐一さん)
http://itpro.nikkeibp.co.jp/article/COLUMN/20120417/391316/
0 件のコメント:
コメントを投稿