2006-08-18から1日間の記事一覧

ジェネリック -- Java vs C#

http://homepage2.nifty.com/magicant/programmingmemo/genericsjavavscs.html C# は型引数の数だけクラスを展開し、 そのバイトコードを生成するので、実行時に型引数の情報が残る。 Java は型引数の一致をコンパイル時に判定するが、 バイトコートは型引数…

typedef を代替するトリック

ジェネリックメソッドの型推論を使う。 http://www-06.ibm.com/jp/developerworks/java/060310/j_j-jtp02216.shtml?ca=drs- public static Map newHashMap() { return new HashMap(); }これを使えば、型パラメーターを2度入力することを安全に回避することが…

ANSI C の main() 代替となる main メソッドのシグネチャ

public static void main(String... args) 何がうれしいかというと、 main を別のメソッドから呼ぶとき、長さ0の引数 main(); で呼べるということ。もともと書けていた main(new String{}); main(new String{"a", "b"}); でも呼べるし、長さ1以上の引数リス…

リストのリストを型推論

List> ll = new ArrayList>(); というステートメントには、型が多すぎる。 public class ListFactory { public static<T> List<T> newInstance(T x, int ncopy) { return new ArrayList<T>(Collections.nCopies(ncopy, x)); } public static<T> List<T> newInstance() { ret</t></t></t></t></t>…