Recommended
PDF
Javaセキュアコーディングセミナー東京第3回演習の解説
PPTX
PDF
20150302 java8 第一回_ラムダ式(1)
PDF
Javaセキュアコーディングセミナー東京第2回演習の解説
PDF
PPTX
Java Puzzlers JJUG CCC 2016
PPTX
PDF
Java SE 8 lambdaで変わる プログラミングスタイル
PDF
Javaセキュアコーディングセミナー東京第3回演習
PPTX
PDF
PDF
PDF
from old Java to modern Java
PPTX
C#を始めたばかりの人へのLINQ to Objects
PPTX
PDF
PDF
PDF
PPTX
PDF
PDF
Java8のstreamをダラダラまとめてみる
PDF
PDF
from old java to java8 - KanJava Edition
PDF
Introduction to JShell #JavaDayTokyo #jdt_jshell
PPT
ODP
PPTX
LINQ 概要 + 結構便利な LINQ to XML
PDF
Javaセキュアコーディングセミナー東京第3回講義
PPTX
KEY
関ジャバ JavaOne Tokyo 2012報告会
More Related Content
PDF
Javaセキュアコーディングセミナー東京第3回演習の解説
PPTX
PDF
20150302 java8 第一回_ラムダ式(1)
PDF
Javaセキュアコーディングセミナー東京第2回演習の解説
PDF
PPTX
Java Puzzlers JJUG CCC 2016
PPTX
PDF
Java SE 8 lambdaで変わる プログラミングスタイル
What's hot
PDF
Javaセキュアコーディングセミナー東京第3回演習
PPTX
PDF
PDF
PDF
from old Java to modern Java
PPTX
C#を始めたばかりの人へのLINQ to Objects
PPTX
PDF
PDF
PDF
PPTX
PDF
PDF
Java8のstreamをダラダラまとめてみる
PDF
PDF
from old java to java8 - KanJava Edition
PDF
Introduction to JShell #JavaDayTokyo #jdt_jshell
PPT
ODP
PPTX
LINQ 概要 + 結構便利な LINQ to XML
Similar to Java7再入門講座
PDF
Javaセキュアコーディングセミナー東京第3回講義
PPTX
KEY
関ジャバ JavaOne Tokyo 2012報告会
PDF
Javaセキュアコーディングセミナー東京第1回演習の解説
PDF
PDF
PDF
PPT
PDF
PDF
Javaセキュアコーディングセミナー東京第4回講義
PPTX
PDF
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
PDF
JDK7 Quiz... @ JavaOne報告会 at Tokyo
PDF
PPTX
PDF
夜子まま塾講義6(androidでhello world)
PDF
PDF
Javaセキュアコーディングセミナー東京第1回 講義
PDF
PDF
Javaセキュアコーディングセミナー東京第1回 演習
More from Takafumi Yoshida
PDF
KEY
KEY
KEY
KEY
KEY
KEY
KEY
GlassFishとJavascriptで始めるWebsocket
PDF
初めてのJavaOne~ところで俺のiPhoneどこいった~
KEY
Glassfishで始める モテる!簡単クラスタ入門 Ver1.5
PDF
Glassfishで始める モテる!簡単クラスタ入門
Recently uploaded
PDF
歴史好きのスクラム話 JBUG名古屋#5 AI時代のデータドリブンなプロジェクト管理
PDF
論文紹介: "Locality-Aware Zero-Shot Human-Object Interaction Detection" "Disentan...
PDF
How We Operated Ticket-Driven Development in JIRA.pdf
PDF
論文紹介:"Reflexion: language agents with verbal reinforcement learning", "MA-LMM...
PDF
論文紹介:Simultaneous Detection and Interaction Reasoning for Object-Centric Acti...
PDF
ReflecTrace: Hover Interface using Corneal Reflection Images Captured by Smar...
PDF
論文紹介:"MM-Tracker: Motion Mamba for UAV-platform Multiple Object Tracking", "M...
PDF
手軽に広範囲でプライバシーを守りながら人数カウントできる ~ LoRaWAN AI人流カウンター PF52 日本語カタログ
Java7再入門講座 1. 2. 3. 4. 5. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Java7 Main Feature
• Project Coin
• NIO.2 (More New APIs for Java Platform)
• InvokeDynamic
• Fork/Join framework
25. Java7 Main Feature
• Project Coin
• NIO.2 (More New APIs for Java Platform)
• InvokeDynamic
• Fork/Join framework
26. 27. 28. 数値表現形式の追加
• バイナリ表記
• 2進数表記の追加
int a = 0b011001;
System.out.println(a); //25
• アンダースコア表記
• _で分割して表記
• 先頭と最後にはNG
long a = 123_456_789;
System.out.println(a); //123456789
long b = 0b011_001; //バイナリ表記との合わせ技
System.out.println(b); //25
int c = _123_456 //コンパイルエラー
29. 例外のマルチキャッチ(1)
• 複数の例外を1つのcatchブロックでキャッチ
class ExceptionA extends Exception{}
class ExceptionB extends Exception{}
class MultiCatch {
public static void test(int a) {
try {
if(a == 1) {
throw new ExceptionA();
} else {
throw new ExceptionB();
}
} catch(ExceptionA | ExceptionB ex) {
System.out.println(ex.getClass());
}
}
}
30. 例外のマルチキャッチ(2)
• 例外に継承関係がある場合は注意
• 標準例外の継承関係が曖昧だとハマる
class ExceptionA extends Exception{}
class ExceptionB extends ExceptionA{}
class MultiCatch {
public static void test(int a) {
try {
if(a == 1) {
throw new ExceptionA();
} else {
throw new ExceptionB();
}
} catch(ExceptionB | ExceptionA ex) { //コンパイルエラー
System.out.println(ex.getClass());
}
}
}
31. 例外の再送(1)
• tryブロック中にcatchした例外を再送する
• Java6とかだと・・・
class ReThrowTest {
public static void test(int a) throws Exception {
try {
if(a == 1) {
throws ExceptionA, ExceptionB
throw new ExceptionA();
とか書けない!
} else {
throw new ExceptionB();
}
} catch(Exception ex) {
System.out.println(ex.getClass());
throw ex;
}
}
}
32. 例外の再送(2)
• Java7では
class ReThrowTest {
public static void test(int a) throws ExceptionA, ExceptionB {
try {
if(a == 1) { メソッドが本来throwsしたい
throw new ExceptionA();
例外を記述できる
} else {
throw new ExceptionB();
}
} catch(Exception ex) {
System.out.println(ex.getClass());
throw ex;
}
}
}
33. ジェネリクスの<>記法
• <> = ダイヤモンド
Map<String, Object> map1 = new
HashMap<String, Object>();
Map<String, Map<String, Object>> map2 =
new HashMap<String, Map<String,
Object>>
• Mapとかでネストすると、右辺が冗長!
Map<String, Object> map1 =
new HashMap<>();
Map<String, Map<String, Object>> map2 =
new HashMap<>();
34. 35. リソースを含むtry構文(2)
• Java7だと
try (InputStream input = new
FileInputStream(“hoge.txt”);) {
doHoge(input);
} catch(Exception e) {
System.out.println(e);
}
• tryブロックを抜けたタイミングで
InputStream#closeが自動で呼び出される
• closeで発生した例外もcatchできる
36. 37. 38. 39. 40. Pathsクラス
• 基本はget
Path path1 = Paths.get(“/User/hoge/fuga.txt”);
Path path2 = Paths.get(“/User/hoge”, “fuga.txt”);
• java.io.Fileからも生成できる
File file = new File(“/User/hoge/fuga.txt”);
Path path = file.toPath();
• ここで生成したPathをFilesで使う
41. 42. 43. Filesクラス(3)
• テキスト読み書き
List<String> data =
Files.readAllLines(path1, StandardCharsets.UTF8);
Files.write(path2, data, StandardCharsets.UTF8);
• バイナリ読み書き
byte[] data = Files.readAllBytes(path1);
Files.write(path2, data);
44. 45. 46. 47. 49.