真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java泛型是什么?一文帶你吃透泛型-創(chuàng)新互聯(lián)

在這里插入圖片描述

成都創(chuàng)新互聯(lián)是專業(yè)的博湖網(wǎng)站建設(shè)公司,博湖接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行博湖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!文章目錄
  • 1. Java 泛型
  • 2. 泛型類
  • 3. 泛型接口
  • 4. 泛型方法
  • 5. 泛型集合
  • Java編程基礎(chǔ)教程系列

1. Java 泛型

Java 泛型是 JDK1.5 中引入的一個新特性,其本質(zhì)是參數(shù)化類型,把類型作為參數(shù)傳遞。其主要的形式有泛型類,泛型接口和泛型方法。泛型概念的提出,不僅提高了代碼的復(fù)用性,而且可以有效防止類型轉(zhuǎn)換異常,提高了代碼的安全性。

泛型的語法格式:

//T稱為類型占位符,表示一種引用類型。

下面我們從泛型的三種形式來學(xué)習(xí) Java泛型是如何提高代碼復(fù)用性和安全性的。

2. 泛型類

泛型類的語法是在類名后面加上,泛型在類中可以創(chuàng)建變量,也可以作為方法的參數(shù)或者返回值。

在使用泛型的使用只能使用引用類型,并且不同的泛型類型對象之間不能相互賦值。

示例,泛型類:

public class MyGeneric{//創(chuàng)建泛型變量,不可以使用 new 來創(chuàng)建,因為 T 是不確定的類型
    T t;
    //泛型作為方法的參數(shù)
    public void show(T t){System.out.println(t);
    }

    //泛型作為方法的返回值
    public T getT(){return t;
    }
}

測試:

public class TestGeneric {public static void main(String[] args) {MyGenericmyGeneric=new MyGeneric();
        myGeneric.t="HelloWorld!";
        myGeneric.show("HelloWorld");
        System.out.println(myGeneric.getT());
    }
}
3. 泛型接口

泛型接口的語法是在接口名后面加上,泛型接口中不可以創(chuàng)建 static 修飾的變量。泛型接口有兩使用方式,要么在實現(xiàn)接口時確定泛型類的類型,要么在實現(xiàn)接口時先不確定泛型類類型,而在實例化對象時再確定。

方法一示例:

public interface MyInterface{ String  name="張三";
     T show(T t);
}

泛型類的實現(xiàn):

public class MyInterfaceImpl implements MyInterface{@Override
    public String show(String s) {System.out.println(s);
        return  s;
    }
}

測試:

public class TestGeneric {public static void main(String[] args) {MyInterfaceImpl myInterfaceImpl=new MyInterfaceImpl();
        myInterfaceImpl.show("HelloWorld");
    }
}

方法二示例,實現(xiàn)泛型接口:

public class MyInterfaceImpl2implements MyInterface{@Override
    public T show(T t) {System.out.println(t);
        return t;
    }
}

測試:

public class TestGeneric {public static void main(String[] args) {MyInterfaceImpl2myInterfaceImpl=new MyInterfaceImpl2();
        myInterfaceImpl.show("HelloWorld");
    }
}
4. 泛型方法

泛型方法的語法是在方法返回值的前面加上。

示例:

public class MyGenericMethod {publicT show(T t){System.out.println("泛型方法"+t);
        return t;
    }
}

測試:

public class TestGeneric {public static void main(String[] args) {MyGenericMethod myGenericMethod=new MyGenericMethod();
        myGenericMethod.show("HelloWorld!");
        myGenericMethod.show(200);
    }
}
5. 泛型集合

泛型集合是參數(shù)化類型,類型安全的集合。泛型集合強(qiáng)制集合元素的類型必須一致。

使用泛型集合在編譯器即可檢查,而非運(yùn)行期拋出異常,并且不同的泛型類型之間不可以相互賦值。

import java.util.ArrayList;

public class Test {public static void main(String[] args) {ArrayListarrayList=new ArrayList();
        arrayList.add("張三");
        arrayList.add("李四");

        for (String s:arrayList) {System.out.println(s);
        }

        ArrayListarrayList1=new ArrayList();
        Student s1=new Student("張三",18);
        arrayList1.add(s1);
        for (Student student:arrayList1) {System.out.println(student);
        }
    }
}

在這里插入圖片描述

我們查看 ArrayList 在JDK中的源碼:

public class ArrayListextends AbstractListimplements List, RandomAccess, Cloneable, java.io.Serializable

它是一個泛型類,而我之前使用的時候并沒有傳遞,說明 Java 語法是允許的,這個時候傳遞的類型是 Object 類,雖然它是所有類的父類,可以存儲任意的類型,但是在遍歷、獲取元素時需要原來的類型就要進(jìn)行強(qiáng)制轉(zhuǎn)換。

這個時候就會出現(xiàn)一些問題,假如往鏈表里存儲了許多不同類型的數(shù)據(jù),在強(qiáng)轉(zhuǎn)的時候就要判斷每一個原來的類型,這樣就很容易出現(xiàn)錯誤。

Java編程基礎(chǔ)教程系列

【Java基礎(chǔ)】Java常用類詳解(包裝類,字符串,枚舉,文件…)

【Java集合】Collection 體系集合詳解

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱:Java泛型是什么?一文帶你吃透泛型-創(chuàng)新互聯(lián)
文章出自:http://weahome.cn/article/hpopi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部