Java SE 7 標準ライブラリ¶
Java SE 7の標準ライブラリについてのメモページです。
仕様¶
JSR 336 "Java SE 7 Release Contents" で規定されています。
http://jcp.org/en/jsr/detail?id=336
標準ライブラリの変更点について¶
標準ライブラリについては、JSR 336 Annex 2で変更分が規定されています。
上述のURLから、"Final Release"欄の"Download page"へのリンクを辿り、"Download"ボタン1を押すと、本編、Annex 2、Annex 3の3つのアーカイブファイルがダウンロードできます。
1 Downloadボタンは、for evaluationとfor implementationの2つがありますが、どちらも同じファイルがダウンロードできるようです。
ダウンロードしたAnnex 2のアーカイブファイルを展開し、index.htmlを開くと、Javadoc APIのようにパッケージ、クラスの一覧が左側に、右側にコンテンツが表示されます。画面を次に示します。
上の画面で「(changed)」とある項目は、Java SE 7で更新のあったものです。
java.lang.Integerクラスをクリックしてみると、クラスの更新内容が確認できます。画面を次に示します。
変更のあった項目、追加の項目、削除の項目が示されています。上の画面では、1つの項目(compareメソッド)が追加されています。
公式ドキュメント¶
記事¶
日経ITProオンラインの連載記事「Java SE 7徹底理解」(櫻庭 祐一著)¶
- 第1回 言語仕様の小さな変更 - Project Coin
- 第2回 細粒度の並行処理 - Fork/Join Framework
- 第3回 Fork/Join FrameworkからProject Lambdaへ
- 第4回 New I/O 2の新しいファイルシステムインタフェース その1
- 第5回 New I/O 2の新しいファイルシステムインタフェース その2
- 第6回 New I/O 2で非同期I/O
- 第7回 Unicode 6.0と国際化
- 第8回 グラフィック関係の強化
- 第9回 コアライブラリの変更点 その1
- 第10回 コアライブラリの変更点 その2
- 第11回 ネットワーキングに関する変更
- 第12回 デプロイメントの強化
- 第13回 スレッドセーフクラスローダ
- 第14回 Javaのためではない機能 - InvokeDynamic
インターネット上の公開資料¶
- Java SE 7 Project Coin - TECHSORE
- Java SE 7(JDK7)の見どころをまとめてみました!(その1) - Acroquest Technology株式会社
- Java SE 7(JDK7)の見どころをまとめてみました!(その2) - Acroquest Technology株式会社
- 細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS
- Java新機能メモ - ひしだま's技術メモページ
使い方メモ¶
java.util.Objects¶
requireNonNull¶
引数に指定したインスタンスがnullであれば、NullPointerExceptionをスローし、そうでなければ何もしないメソッドです。
主に、APIで引数のチェックや、nullではないことを不変条件とするインスタンスのチェックに使います。
- 従来のnullチェックの記述
public Products find(Manufacturer manufacturer, Country country) { if (manufacturer == null) { throw new NullPointerException("manufacturer should not be null"); } if (country == null) { throw new NullPointerException("country should not be null"); } //... }
- Objects#requireNonNullを使ったnullチェックの記述
public Products find(Manufacturer manufacturer, Country country) { Objects.requireNonNull(manufacturer, "manufacturer"); Objects.requireNonNull(country, "country"); //... }