1. 程式人生 > >java入門總結part5

java入門總結part5

泛型:在不知道使用的資料型別是什麼,或資料型別可以是多種時使用

簡單使用

class 類名 <泛型,泛型...>{

屬性

方法

}

類名<具體型別>物件名稱 = new 類名稱<具體型別>();

具體程式碼:

package javalearn; class Point<T>{//註明是泛型,一般用大寫T     T x;     T y;     public void tell(){         System.out.println(x+" "+y);     }      } public class Learn {

    public static void main(String[] args) {         Point<String> name = new Point<String>();//傳入字串型別,記住首字母大寫         name.x="李明";         name.y="李大媽";         name.tell();         Point<Integer> age = new Point<Integer>();//傳入整型,記住首字母大寫         age.x=15;         age.y=18;         age.tell();         Point<Float> weight = new Point<Float>();//傳入浮點型,記住首字母大寫         weight.x=54.5f;         weight.y=183.2f;         weight.tell();         } }

執行結果:

李明 李大媽 15 18 54.5 183.2

構造方法中的使用:

比較簡單,直接寫構造方法的程式碼:

public Point(T x){

this.x=x;

}

ok,其他與上面一樣不多說。

多個泛型的使用

就是多寫幾個用逗號隔開,具體程式碼:

package javalearn; class Point<T,K>{//注意一般都是大寫字母表示泛型     T x;     K y;     public void tell(){         System.out.println(x+" "+y);     }      } public class Learn {

    public static void main(String[] args) {         Point<String,Integer> name = new Point<String,Integer>();         name.x="李明";         name.y=10;         name.tell();         Point<Integer,String> age = new Point<Integer,String>();         age.x=15;         age.y="李仨子";         age.tell();         } }

執行結果:

李明 10 15 李仨子

萬用字元

當你傳參時不知道引數型別時,使用萬用字元?,具體程式碼:

package javalearn; class Point<T>{//注意一般都是大寫字母表示泛型     T x;     public void tell(){         System.out.println(x);     }      } public class Learn {

    public static void main(String[] args) {         Point<String> name = new Point<String>();//這是字串型別         name.x="李明";         say(name);         Point<Integer> age = new Point<Integer>();//這時整型         age.x=20;         say(age);         }     public static void say(Point<?> i) {//使用了萬用字元?,可以傳進來任何資料型別         i.tell();         } }

執行結果:

李明

20

泛型介面,泛型方法,泛型陣列都類似,可以自己實踐,這裡只寫一個泛型陣列吧

package javalearn; public class Learn {

    public static void main(String[] args) {         String arr[]={"易烊千璽","我喜歡你","就可以啦"};         Integer arrint[]={2000,11,28};//記得整型用Integer,首字母大寫!         tell(arr);         System.out.println();         tell(arrint);         }     public static <T>void tell(T arr[]) {//記得前面<T>不能忘         for(int i=0;i<arr.length;i++){             System.out.print(arr[i]+" ");         }         } }

執行結果:

易烊千璽 我喜歡你 就可以啦 2000 11 28

ok,泛型結束,下次繼續集合類詳解。。。