タグ

ブックマーク / ashigeru.hatenadiary.org (2)

  • 型推論の正解が分からない - しげるメモ

    自分めも。だけどわかる人教えてください。 public static void main(String...args) { Integer a = 1; Long b = 2; Object result = method(a, b); // resultの型は? } static <T> T method(T a, T b) { return null; } このmethod(a, b)の型推論で、Tはどのような型に算出されるかという問題。 15.12.2.8 Inferring Unresolved Type Argumentsを追いかけながら進んでいく感じ。ただし、型推論の後半部分だけ。 おさらいしておくと、Integer, Long はそれぞれ下記のような宣言。 class Integer extends Number implements Comparable<Integer>

    型推論の正解が分からない - しげるメモ
    t_yano
    t_yano 2009/02/06
    おお、なんかじっくりよまないといけない。型推論。
  • 可変長引数ではAuto Unboxingが優先される?の理由 - しげるメモ

    可変長引数ではAuto Unboxingが優先される? - kaisehのブログへのツッコミ。米欄に書こうとしたら長すぎたのでこちらに。 ところが可変長引数の場合は、評価の優先順位が違うみたいです。 次のようにプログラムに書き足すと、 public class Test { static void foo(int arg) { System.out.println("foo: int"); } static void foo(Object arg) { System.out.println("foo: Object"); } static void bar(int... args) { System.out.println("bar: int..."); } static void bar(Object... args) { System.out.println("bar: Object.

    可変長引数ではAuto Unboxingが優先される?の理由 - しげるメモ
    t_yano
    t_yano 2008/08/12
    「むしろ、foo(Object)が優先されるのが下位互換性を考えた例外と捉えることもできるかもしれません」なるほど。とても勉強になった。たしかにfoo(int)が優先された方がよりautoboxingの利点が生きるし、こっちが例外っぽい。
  • 1