數組是java中保存對象或基本類型常用的方法,
可是數組尤其缺陷那便是大小固定,不能增加。
在java 1.5中引入了一種更好的保存對象的類型,那便是泛型。
看看下面簡單的泛型例子吧。
定義一個Fruit的超類
1 package com.duduli.li;
2
3 public class Fruit {
4 public Fruit(){
5 System.out.println("It is a fruit!");
6 }
7 public void display(int i){
8 System.out.println("i = " + i);
9 }
10 }
11
然后是一個Apple類和一個Orange類,兩個類都繼承Fruit類
1 package com.duduli.li;
2
3 public class Apple extends Fruit {
4
5 public Apple(){
6 System.out.println("It is an apple");
7 }
8
9 @Override
10 public void display(int i) {
11 // TODO Auto-generated method stub
12 super.display(i);
13 }
14 }
15
1 package com.duduli.li;
2
3 public class Orange extends Fruit {
4 public Orange (){
5 System.out.println("It is an Orange");
6 }
7
8 @Override
9 public void display(int i) {
10 // TODO Auto-generated method stub
11 super.display(i);
12 }
13 }
14
然后就是Client的測試類了
1 package com.duduli.li;
2
3 import java.util.ArrayList;
4
5 public class Client {
6
7 /**
8 * @param args
9 */
10 public static void main(String[] args) {
11 // TODO Auto-generated method stub
12 ArrayList<Fruit> fruits = new ArrayList<Fruit>();
13 fruits.add(new Apple());
14 fruits.add(new Orange());
15
16 for(Fruit f : fruits){
17 // System.out.println(f);
18 // f為調用toString方法,輸出類名及該對象的散列碼的無符號十六進制表示
19 f.display(8);
20 }
21 }
22 }
顯示結果為:
1 It is a fruit!
2 It is an apple
3 It is a fruit!
4 It is an Orange
5 i = 8
6 i = 8
7
在這里的
ArrayList<Fruit> fruits = new ArrayList<Fruit>();
我采用了繼承Fruit,如果ArrayList<> fruits = new ArrayList<>();
定義的話,此fruits里面容納的Object類型。