Java SE 7の新機能!!
izu@San Franciscoさんからの情報。Java SE 7の新機能について。
What's coming in Java SE 7を参照。
とりあえずざっと見た感じでは・・
- 2008年ごろリリースしまっせ
- Java Module(JAM)っていうモジュールシステムが追加される。Jarのすごい版みたいな感じかな。
- superPackagesっていう概念の追加。よくわからんけど、スーパーパッケージっていう単位でいろんなパッケージをまとめて(メンバ化して)、外部に見せるものをexportで指定する、ってな感じ?外からはスーパーパッケージだけを参照すれば良い、ということかしら。
- Collectionに、growthFactor()っていうメソッドが追加?よくわからん。誰か教えて。
- JDK7にはJRuby,Jython,Beanshellなど多言語のインタプリタがバンドルされる
- Bean Binding, Bean Validation, Swing Application Framework、なんていう機能が追加されて、Swingアプリ開発が簡単になるのかな。MVCの連携を旨いことやってくれる機能かね。
- Javadoc Tagが拡張される。サンプルコードを記述するためタグや、メソッドをカテゴライズするタグが増えるらしい。
- JavaSE6ではドロップされた:-(
- でもJavaSE7には含まれるから安心せよ:-)
- 文法追加その1!言語レベルでxmlサポート。こんな感じでかけまっせ。でもってXPathもサポート。
elt.appendChild(currentSpeaker Calendar.TUESDAY );
(いままで) private String foo; public String getFoo() {..} public void setFoo(String foo){..} (これから) public property String foo;
- 文法追加その3!ワオ!JavaBeansプロパティアクセスに矢印オペレータ("->")が使える!"->"でプロパティにアクセスして、"="で代入って感じね。
(今まで) a.setFoo(b.getFoo()); (これから) a->Foo = b->Foo;
- switch文でStringが使える。これは地味にうれしい。
- インスタンス生成の短縮化。こんな感じ。たしかに型パラメータつきのクラスをnewするのはメンドイよね。
(いままで) Map<String,List<Integer>> m = new HashMap<String,List<Integer>>() (これから) HashMap<String,List<Map<String,List<Integer>> m = new(); ?? Map<String,List<Integer>> m = new Hashmap(); ??
- クロージャの完全サポート。メソッド引数にメソッドを渡せたりする(あってる?)。
以上。