国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)據(jù)結(jié)構(gòu)】泛型(分享重點(diǎn))

這篇具有很好參考價(jià)值的文章主要介紹了【數(shù)據(jù)結(jié)構(gòu)】泛型(分享重點(diǎn))。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

什么是泛型?

泛型就是適用于許多許多類型,對類型參數(shù)化。

怎么創(chuàng)建一個(gè)泛型呢

class 泛型類名稱<類型形參列表> {
// 這里可以使用類型參數(shù)
}
class ClassName<T1, T2, ..., Tn> {
}
class 泛型類名稱<類型形參列表> extends 繼承類/* 這里可以使用類型參數(shù) */ {
// 這里可以使用類型參數(shù)
}
class ClassName<T1, T2, ..., Tn> extends ParentClass<T1> {
// 可以只使用部分類型參數(shù)
}

下面我們看兩段代碼的對比

class MyArray {
public Object[] array = new Object[10];
public Object getPos(int pos) {
return this.array[pos];
}
public void setVal(int pos,Object val) {
this.array[pos] = val;
}
}
public class TestDemo {
public static void main(String[] args) {
MyArray myArray = new MyArray();
myArray.setVal(0,10);
myArray.setVal(1,"hello");//字符串也可以存放
String ret = myArray.getPos(1);//編譯報(bào)錯(cuò)
System.out.println(ret);
}
}

用泛型改寫

class MyArray<T> {
public T[] array = (T[])new Object[10];//1
public T getPos(int pos) {
return this.array[pos];
}
public void setVal(int pos,T val) {
this.array[pos] = val;
}
}
public class TestDemo {
public static void main(String[] args) {
MyArray<Integer> myArray = new MyArray<>();//2
myArray.setVal(0,10);
myArray.setVal(1,12);
int ret = myArray.getPos(1);//3
System.out.println(ret);
myArray.setVal(2,"bit");//4
}
}
類名后的 <T> 代表占位符,表示當(dāng)前類是一個(gè)泛型類
【數(shù)據(jù)結(jié)構(gòu)】泛型(分享重點(diǎn)),數(shù)據(jù)結(jié)構(gòu),前端,javascript
泛型類的使用
泛型類<類型實(shí)參> 變量名; // 定義一個(gè)泛型類引用
new 泛型類<類型實(shí)參>(構(gòu)造方法實(shí)參); // 實(shí)例化一個(gè)泛型類對象

示例

MyArray<Integer> list = new MyArray<Integer>();

泛型只能接受類

泛型方法

方法限定符 <類型形參列表> 返回值類型 方法名稱(形參列表) { ... }
public class Util {
//靜態(tài)的泛型方法 需要在static后用<>聲明泛型類型參數(shù)
public static <E> void swap(E[] array, int i, int j) {
E t = array[i];
array[i] = array[j];
array[j] = t;
}
}

通配符文章來源地址http://www.zghlxwxcb.cn/news/detail-852054.html

? 用于在泛型的使用,即為通配符
例如, List<?>?表示一個(gè)可以容納任何類型元素的列表。
public class TestDemo {
public static void main(String[] args) {
Message<Integer> message = new Message() ;
message.setMessage(55);
fun(message);
}
// 此時(shí)使用通配符"?"描述的是它可以接收任意類型,但是由于不確定類型,所以無法修改
public static void fun(Message<?> temp){
//temp.setMessage(100); 無法修改!
System.out.println(temp.getMessage());
}
}

到了這里,關(guān)于【數(shù)據(jù)結(jié)構(gòu)】泛型(分享重點(diǎn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • day32 泛型 數(shù)據(jù)結(jié)構(gòu) List

    ?概述 ? ? ? ? JDK1.5同時(shí)推出了兩個(gè)和集合相關(guān)的特性:增強(qiáng)for循環(huán),泛型 ????????泛型可以修飾泛型類中的屬性,方法返回值,方法參數(shù), 構(gòu)造函數(shù)的參數(shù) Java提供的泛型類/接口 Collection, List, Set,Iterator 等 自定義的泛型 public class Student H,W {} 自定義的泛型方法 public

    2024年02月09日
    瀏覽(19)
  • TCP數(shù)據(jù)報(bào)結(jié)構(gòu)分析(面試重點(diǎn))

    TCP數(shù)據(jù)報(bào)結(jié)構(gòu)分析(面試重點(diǎn))

    在傳輸層中有UDP和TCP兩個(gè)重要的協(xié)議,下面將針對TCP數(shù)據(jù)報(bào)的結(jié)構(gòu)進(jìn)行分析 關(guān)于UDP數(shù)據(jù)報(bào)的結(jié)構(gòu)分析推薦看UDP數(shù)據(jù)報(bào)結(jié)構(gòu)分析(面試重點(diǎn)) ? ? ? ? 源端口表示發(fā)送數(shù)據(jù)時(shí),發(fā)送方的端口號,由于占16位2個(gè)字節(jié),所以取值范圍是0-65535,所以一個(gè)合法的端口號,有效范圍就是

    2024年02月10日
    瀏覽(19)
  • UDP數(shù)據(jù)報(bào)結(jié)構(gòu)分析(面試重點(diǎn))

    UDP數(shù)據(jù)報(bào)結(jié)構(gòu)分析(面試重點(diǎn))

    ? ? ? ? 在傳輸層中有UDP和TCP兩個(gè)重要的協(xié)議,下面將針對UDP數(shù)據(jù)報(bào)的結(jié)構(gòu)進(jìn)行分析 ? ? ? ? UDP報(bào)頭有4個(gè)屬性,分別是源端口,目的端口,UDP報(bào)文長度,校驗(yàn)和,它們都占16位2個(gè)字節(jié),所以取值范圍是0-65535 ? ? ? ? ? ? ? ? 源端口表示發(fā)送數(shù)據(jù)時(shí),發(fā)送方的端口號,由于占

    2024年02月12日
    瀏覽(22)
  • 【數(shù)據(jù)結(jié)構(gòu)】 簡單認(rèn)識包裝類與泛型

    【數(shù)據(jù)結(jié)構(gòu)】 簡單認(rèn)識包裝類與泛型

    在Java中,由于基本類型不是繼承自O(shè)bject,為了在 泛型代碼 中可以支持基本類型,Java給每個(gè)基本類型都對應(yīng)了一個(gè)包裝類型。 除了 Integer 和 Character, 其余基本類型的包裝類都是首字母大寫。 裝箱就是自動將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型;拆箱就是自動將包裝器類型轉(zhuǎn)換

    2024年02月12日
    瀏覽(30)
  • 【java數(shù)據(jù)結(jié)構(gòu)】泛型的初步認(rèn)識(2)

    【java數(shù)據(jù)結(jié)構(gòu)】泛型的初步認(rèn)識(2)

    hellohello~,大家好????,這里是E綿綿呀???,如果覺得這篇文章還不錯(cuò)的話還請點(diǎn)贊????收藏??????關(guān)注????,如果發(fā)現(xiàn)這篇文章有問題的話,歡迎各位評論留言指正,大家一起加油!一起chin up!????? ?? 個(gè)人主頁: E綿綿的博客 ?? 所屬專欄: JAVA知識點(diǎn)專欄

    2024年04月26日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)(Java實(shí)現(xiàn))-包裝類和泛型

    數(shù)據(jù)結(jié)構(gòu)(Java實(shí)現(xiàn))-包裝類和泛型

    包裝類 在Java中,由于基本類型不是繼承自O(shè)bject,為了在泛型代碼中可以支持基本類型,Java給每個(gè)基本類型都對應(yīng)了 一個(gè)包裝類型。 基本數(shù)據(jù)類型和對應(yīng)的包裝類 裝箱和拆箱 裝箱操作,新建一個(gè) Integer 類型對象,將 i 的值放入對象的某個(gè)屬性中 拆箱操作,將 Integer 對象中

    2024年02月11日
    瀏覽(23)
  • 【數(shù)據(jù)結(jié)構(gòu)】第 1~10 章:思維導(dǎo)圖與重點(diǎn)匯總

    【數(shù)據(jù)結(jié)構(gòu)】第 1~10 章:思維導(dǎo)圖與重點(diǎn)匯總

    目錄 一、概論 (1)思維導(dǎo)圖? (2)常見名詞 (3)數(shù)據(jù)結(jié)構(gòu)的定義? (4)抽象數(shù)據(jù)類型 ADT? (5)算法? (6)評價(jià)算法的好壞的因素? (7)算法復(fù)雜度 二、線性表? (1)思維導(dǎo)圖? (2)線性表? (3)線性表上定義的基本運(yùn)算? (4)順序表 (5)在順序表中實(shí)現(xiàn)的基本運(yùn)

    2024年02月03日
    瀏覽(18)
  • 數(shù)據(jù)結(jié)構(gòu)----基本封裝、包裝類、裝箱與拆箱、泛型詳解

    數(shù)據(jù)結(jié)構(gòu)----基本封裝、包裝類、裝箱與拆箱、泛型詳解

    在Java中,由于基本類型不是繼承自O(shè)bject,為了在泛型代碼中可以支持基本類型,Java給每個(gè)基本類型都對應(yīng)了一個(gè)包裝類型。 基本數(shù)據(jù)類型 包裝類 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 除了 Integer 和 Character, 其余基本類型的包裝類都是

    2024年01月23日
    瀏覽(21)
  • 探索泛型與數(shù)據(jù)結(jié)構(gòu):解鎖高效編程之道

    探索泛型與數(shù)據(jù)結(jié)構(gòu):解鎖高效編程之道

    在當(dāng)今信息爆炸的時(shí)代,數(shù)據(jù)結(jié)構(gòu)和算法成為了程序員必備的核心技能。而泛型作為Java語言中的一項(xiàng)強(qiáng)大特性,為數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)提供了更高效、更安全的方式。本文將深入探討泛型的概念、使用場景以及結(jié)合數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,為您打開高效編程之道。 1.1 為什么使用

    2024年02月13日
    瀏覽(24)
  • C#學(xué)習(xí)筆記--數(shù)據(jù)結(jié)構(gòu)、泛型、委托事件等進(jìn)階知識點(diǎn)

    C#學(xué)習(xí)筆記--數(shù)據(jù)結(jié)構(gòu)、泛型、委托事件等進(jìn)階知識點(diǎn)

    ArrayList 元素類型以O(shè)bject類型存儲,支持增刪查改的數(shù)組容器。 因而存在裝箱拆箱操作,謹(jǐn)慎使用。 ArrayList和數(shù)組區(qū)別? ArrayList使用不用說明固定長度,數(shù)組則需要 數(shù)組存儲的是指定類型的,ArrayList是Object ArrayList存在裝箱拆箱,數(shù)組不存在 ArrayList數(shù)組長度用Count獲取 而數(shù)組

    2024年02月08日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包