1. 程式人生 > 其它 >js外掛fullcalendar配置項及樣例

js外掛fullcalendar配置項及樣例

一、泛型的定義主要有以下兩種:

  1. 在程式編碼中一些包含型別引數的型別,也就是說泛型的引數只可以代表類,不能代表個別物件。(這是當今較常見的定義)
  2. 在程式編碼中一些包含引數的。其引數可以代表類或物件等等。(現在人們大多把這稱作模板)

        不論使用那個定義,泛型的引數在真正使用泛型時都必須作出指明。

二、使用泛型的目的:

  1. 一些強型別程式語言支援泛型,其主要目的是加強型別安全及減少類轉換的次數,但一些支援泛型的程式語言只能達到部份目的。
  2. 泛型程式設計(Generic programming)意味著編寫的程式碼可以被很多不同型別的物件所重用。
  3. 是對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