プロジェクト

全般

プロフィール

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のようにパッケージ、クラスの一覧が左側に、右側にコンテンツが表示されます。画面を次に示します。

index_html.png (JSR 336 Annex 2のindex.htmlを開いた画面)

上の画面で「(changed)」とある項目は、Java SE 7で更新のあったものです。
java.lang.Integerクラスをクリックしてみると、クラスの更新内容が確認できます。画面を次に示します。

Integer_html.png (JSR 336 Annex 2でIntegerクラスを開いた画面)

変更のあった項目、追加の項目、削除の項目が示されています。上の画面では、1つの項目(compareメソッド)が追加されています。

公式ドキュメント

記事

日経ITProオンラインの連載記事「Java SE 7徹底理解」(櫻庭 祐一著)

インターネット上の公開資料

使い方メモ

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");
        //...
    }
    

index_html.png 表示 - JSR 336 Annex 2のindex.htmlを開いた画面 (45.7 KB) 高橋 徹, 2013/11/17 18:36

Integer_html.png 表示 - JSR 336 Annex 2でIntegerクラスを開いた画面 (61.8 KB) 高橋 徹, 2013/11/17 18:54

クリップボードから画像を追加 (サイズの上限: 1 GB)