JavaCh 21 Generics 2011 05 27 Outline Generics

  • Slides: 15
Download presentation
Java@Ch 21. Generics 2011. 05. 27

Java@Ch 21. Generics 2011. 05. 27

Outline • Generics • Defining Generic Classes and Interfaces • Generic Methods [Sample code]

Outline • Generics • Defining Generic Classes and Interfaces • Generic Methods [Sample code] Generic. Stack. java 、 Generic. Method. Demo. java 、 Wild. Card. Demo 1. java、Wild. Card. Demo 2. java、 Wild. Card. Demo 3. java

Generics • Java allow you to define generic classes, interface, and methods <Prior to

Generics • Java allow you to define generic classes, interface, and methods <Prior to JDK 1. 5> Comparable c = new Date(); System. out. println(c. compare. To(“red”)); <JDK 1. 5> Comparable<Date> c = new Date(); System. out. println(c. compare. To(“red”)); Compile 會過 但執行會錯 因為Date與String 型態不符 Compile 時會檢查 Date與String型態 是否符合

Defining Generic Classes and Interfaces 程式範例: Generic. Stack. java

Defining Generic Classes and Interfaces 程式範例: Generic. Stack. java

使用Generic type 優點: Certain errors can be detected at compile time rather than at

使用Generic type 優點: Certain errors can be detected at compile time rather than at runtime. 易犯的錯: Constructor of Generic. Stack should be defined as (X) (O) public Generic. Stack<E>() public Generic. Stack()

Generic Methods 程式範例: Generic. Method. Demo. java

Generic Methods 程式範例: Generic. Method. Demo. java

Wildcard Generic Type 程式範例: Wild. Card. Demo 1. java Wild. Card. Demo 2. java

Wildcard Generic Type 程式範例: Wild. Card. Demo 1. java Wild. Card. Demo 2. java Wild. Card. Demo 3. java

A wildcard generic type has three forms : 1. ? Unbounded wildcard (same as

A wildcard generic type has three forms : 1. ? Unbounded wildcard (same as ? extends Object) 2. ? extends T bounded wildcard 3. ? super T lower-bound wildcard (T is generic type)