無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

複数のオブジェクトの共通の親クラスを求める

推論の元になる引数が複数ある場合、共通の親クラスが使われるのであれぱ、これを使って複数のオブジェクトの共通の親クラスを得ることができるのでは!とひらめいてしまった。

// 引数の共通の親クラスを返す。
static <X> Class<?> test( X... args ) {
    return args.getClass().getComponentType();
}
....
public static void main( String[] args ) {
    System.out.println( test( "a" ) ); // String
    System.out.println( test( "", new Object() ) ); // Object
    System.out.println( test( 1, 1D ) ); // Number
    System.out.println( test( new IOException(), new RuntimeException() ) ); // Exception
}

実行結果です。

class java.lang.String
class java.lang.Object
class java.lang.Number
class java.lang.Exception

おー、ちゃんととれてる。手近にあったJDK1.5.0_09と、JDK1.6.0_07で確認したけどどちらも挙動は同じ。またEclipseでコンパイル&実行した場合も同様でした。テクニックとして使えそうではあるけど、これだ!という使い道は思いつかんなー。んー。