js外掛fullcalendar配置項及樣例
阿新 • • 發佈:2022-12-02
一、泛型的定義主要有以下兩種:
- 在程式編碼中一些包含型別引數的型別,也就是說泛型的引數只可以代表類,不能代表個別物件。(這是當今較常見的定義)
- 在程式編碼中一些包含引數的類。其引數可以代表類或物件等等。(現在人們大多把這稱作模板)
不論使用那個定義,泛型的引數在真正使用泛型時都必須作出指明。
二、使用泛型的目的:
- 一些強型別程式語言支援泛型,其主要目的是加強型別安全及減少類轉換的次數,但一些支援泛型的程式語言只能達到部份目的。
- 泛型程式設計(Generic programming)意味著編寫的程式碼可以被很多不同型別的物件所重用。
- 是對java語言的型別系統的一種擴充套件,以支援建立可以按型別進行引數化的類。可以把型別引數看作是使用引數化型別時指定的型別的一個佔位符,就像方法的形式引數是執行時傳遞的值得佔位符一樣。
【Java泛型的幾種型別程式碼】
一、不使用泛型的程式碼
我們定義一個Person類,包含三個屬性x,y,z。在我們開始定義地時候,我們也不知道這三個屬性是用來幹什麼的,所以我們定義為Object型別。但是在使用的時候,我們分別對x,y,z賦予了int,double,String型別,所以在取出的時候,我們需要把這三個型別值進行強制轉換。如下程式碼:
1. Person.java
1 public class Person { 2 private Object x; 3 private Object y; 4 private Object z; 5 //使用Object型別。可以轉化為任何型別 6 public Object getX() { 7 return x; 8 } 9 public void setX(Object x) { 10 this.x = x; 11 } 12 public Object getY() { 13 return y; 14 } 15 public void setY(Object y) { 16 this.y = y; 17 } 18 public Object getZ() { 19 return z; 20 } 21 public void setZ(Object z) { 22 this.z = z; 23 } 24 }
2. NoGenericTest.java
1 public class NoGenericTest { 2 public static void main(String[]args){ 3 Person boy=new Person(); 4 boy.setX(20); 5 boy.setY(22.2); 6 boy.setZ("帥哥TT"); 7 //這裡根據設定的不同型別的值,我們需要進行強制型別轉化。 8 int x=(Integer)boy.getX(); 9 double y=(double)boy.getY(); 10 String z=(String)boy.getZ(); 11 12 System.out.println(x); 13 System.out.println(y); 14 System.out.println(z); 15 } 16 }
3. 執行結果
1 20 2 22.2 3 帥哥TT
二、使用一個型別變數泛型的程式碼
我們定義一個泛型類Person,定義三個屬性x,y,z,在測試類中,我們設定屬性的值,並列印。
1. Person.java
1 public class Person<T> { 2 private T x; 3 private T y; 4 private T z; 5 public T getX() { 6 return x; 7 } 8 public void setX(T x) { 9 this.x = x; 10 } 11 public T getY() { 12 return y; 13 } 14 public void setY(T y) { 15 this.y = y; 16 } 17 public T getZ() { 18 return z; 19 } 20 public void setZ(T z) { 21 this.z = z; 22 } 23 }
2. GenericTest.java
1 public class GenericTest { 2 public static void main(String[]args){ 3 Person boy=new Person(); 4 boy.setX(20); 5 boy.setY(22.2); 6 boy.setZ("帥哥TT"); 7 //不用進行型別轉化 8 System.out.println(boy.getX()); 9 System.out.println(boy.getY()); 10 System.out.println(boy.getZ()); 11 } 12 }
3. 執行結果
1 20 2 22.2 3 帥哥TT
三、使用兩個型別變數泛型的程式碼
我們定義一個泛型類Person,定義兩個屬性x,y,使用了兩種不同的型別變數,在測試類中,我們設定屬性的值,並列印。
1. Person.java
1 public class Person<T1,T2> { 2 private T1 x; 3 private T2 y; 4 public T1 getX() { 5 return x; 6 } 7 public void setX(T1 x) { 8 this.x = x; 9 } 10 public T2 getY() { 11 return y; 12 } 13 public void setY(T2 y) { 14 this.y = y; 15 } 16 }
2. GenericTest.java
1 public class GenerricTest { 2 public static void main(String[] args){ 3 Person<String,Integer> boy=new Person<String,Integer>(); 4 boy.setX("帥哥TT"); 5 boy.setY(20); 6 System.out.println(boy.getX()); 7 System.out.println(boy.getY()); 8 } 9 10 }
3. 執行結果
1 帥哥TT 2 20