2012-11-13 5 views
6

의 사용을 이해하는 방법이 예제가있다. 이것에 대한 이야기는 무엇입니까? 내 책에서 T은 타입 매개 변수에 대한 것이지만 어떻게 사용해야하는지 어떻게 알 수 있습니까?자바 제네릭 유학 책에서

+1

이 클래스를 인스턴스화 할 때 사용합니다. –

답변

4

당신은 자동차, 자전거를 임대하는 데 사용할 수 있습니다 ... 이 같은 직접 사용할 수 있습니다

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

을 그럼 당신은 getRental을 다하겠습니다 때 당신에게 Car 개체를 반환합니다 . 그리고 당신은 returnRental(aCar);

로 다시 Car 넣을 수 있습니다 또는 당신은 RentalGeneric<Car>을 연장하는 CarRental 클래스를 만들 수 있습니다.

임대하고자하는 물건이 무엇이든 마찬가지입니다.

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이다하는 문자열 목록입니다 : 이제 우리는 코드를 호출합니다.