2012-11-13 10 views
6

のこの使用を理解するためにどのように、この例があります。これについての話は何ですか?それは私の本ではTは型パラメータのためだと言いますが、それをいつどのように使うのか分かりますか?のJavaジェネリック私の学習書で

+1

このクラスをインスタンス化するときに使用します。 –

答えて

4

あなたは車、バイクを借り、それを使用することができます... あなたはこのようにそれを直接使用することができます

RentalGeneric<Car> carRental = new RentalGeneric<Car>(10, aList); 

を次にあなたがgetRentalをやるとき、それはあなたにCarオブジェクトを返します。 そして、あなたは、あなたがRentalGeneric<Car>を拡張CarRentalクラスを作成することができreturnRental(aCar);

かとCarを元に戻すことができるでしょう。

あなたが借りたい物は何でも同じです。

1

Tは一般的です。ここに入力してください。 RentalGenericクラスのObjectを作成する際に初期化されます。

RentalGeneric<Double> rgS =new RentalGeneric<Double>(10, new ArrayList<Double>()); 
RentalGeneric<Integer> rgS =new RentalGeneric<Integer>(10, new ArrayList<Integer>()); 
0

あなたのコードにはTという直接的な定義はありません。しかし、このコード以外の実行時に見つけることができます。実際にどこかあなたのリストのインスタンスを作成します。あなたがそれを行うとき、あなたはタイプ情報を供給しなくてはなりません。ここで

List<String> mylist = new ArrayList<String>();

我々はリストには、文字列が含まれていることを定義しました。今、私たちはあなたのコードを呼び出す:

new RentalGeneric(123, mylist)

mylistは文字列のリストなので、RentalGenericの型パラメータがあまりにもStringです。