質問: type; } public t gettype(); return type; } class wildcardsample1main{ static void disp(wildcardsample1 w){ system.out.println(w.gettype()); } public static void main(string[] args){ disp(new wildcardsample("tiger")); disp(new wildcardsample(5.0)); } }
回答: とかというのはジェネリックスのクラスやメソッドを宣言する時に使うもので、 ワイルドカードの は引数や変数、戻り値型などの参照の宣言にしか使えません。 つまり上のコードで言えば、 class wildcardsample1{ のかわりに class wildcardsample1 { のようなコードは書くことができないということです。 は単に任意の型を代入できますということをあらわしているだけです。 list l = new arraylist(); は出来ますが、 list l = new arraylist(); は出来ません。 tは何のクラスになるか分からないので、stringではエラーになります。