2012-11-13 36 views
6

bu kullanılmasını anlamak ne kadar, bu örnek var. Bunun hikayesi nedir? Kitabımda T'un type parametresi için olduğunu ancak ne zaman kullanılacağını nasıl bileceğimi yazıyor.Java jenerik benim çalışma kitabında

+1

Bu sınıfı başlattığınızda kullanıyorsunuz. –

cevap

4

Sen arabalar, bisiklet kiralamak için kullanabilir ... Böyle doğrudan kullanabilirsiniz:

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

Sonra getRental yapacağım zaman size Car nesneyi dönersiniz . Ve returnRental(aCar);

ile geri Car koymak mümkün olacak Yoksa RentalGeneric<Car> uzanan bir CarRental sınıf oluşturabilir.

Aynı şey kiralamak istediğiniz nesne için de geçerlidir.

1

T bir jenerik yazılmıştır. Nesne RentalGeneric sınıfını oluştururken başlatılacaktır.

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

Haklısınız, kodunuzda T doğrudan tanımı yoktur. Ancak bu kodun dışında çalışma zamanında bulunabilir. Gerçekten bir yerde listenizin örneğini yaratırsın. Bunu yaptığınızda, tip bilgilerini vermelisiniz, ör.

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

Burada liste dizeleri içerdiğini belirledi.

new RentalGeneric(123, mylist)

mylist yüzden RentalGeneric 'ın tipi parametresi çok String olduğunu bir dize listesi: Şimdi kodunuzu diyoruz.