Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

EoD

Java SE 5.0はEoDに力を入れてるとのことなので、チェックしてみました。EoDとはEasy of Developmentで*1、要するに簡素化で工数を減らしましょうってことです。

  • Autoboxing/Unboxing

基本型をラッパ型に自動変換してくれます。Integer.valueOf(1);みたいなことをしなくてよくなったわけです。これは非常に便利になりましたね。

	Object obj = 1;
	System.out.println("Value:" + obj);
	System.out.println("Class:" + obj.getClass());


  • 拡張for構文

perlで言うforeachです。添字を隠せるので、可読性が増しますし、記述しやすいです。

	String[] strings = {"test1", "test2", "test3", };
	for(String str : strings){
	    System.out.println("args:" + str);
	}


  • Generic型

C++STLにインスパイアされた機能です。今まで汎用的な型を操作するのにObject型で定義してキャストすると言う非常にかっこわるいことをしなければならなかったわけですが、この機能でキャストを隠せます。

class GTest <T>{
    void printSomething(T obj){
	System.out.println("something:" + obj);
    }
}


GTest<String> gt = new GTest<String>();
gt.printSomething("TEST");
// gt.printSomething(1); /* コンパイルエラー */


一昔前より、java界はかなり面白くなってますね( ̄皿 ̄)♪ 話題のアノテーションは未だに未チェックです。もうちょっとしたら調べます。

*1:java文化は用語を極端に略し過ぎだと思う今日この頃