中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

在網(wǎng)站怎么做收款二維碼短信營銷

在網(wǎng)站怎么做收款二維碼,短信營銷,宣傳頁免費(fèi)模板,怎么查看網(wǎng)站的ftp🎉歡迎大家收看,請(qǐng)多多支持🌹 🥰關(guān)注小哇,和我一起成長🚀個(gè)人主頁🚀 ?在更專欄Java ?數(shù)據(jù)結(jié)構(gòu) ?已更專欄有C語言、計(jì)算機(jī)網(wǎng)絡(luò)? 👑目錄 包裝類🌙 ?基本類型對(duì)應(yīng)的包…

?🎉歡迎大家收看,請(qǐng)多多支持🌹

🥰關(guān)注小哇,和我一起成長🚀個(gè)人主頁🚀

?在更專欄Java ?數(shù)據(jù)結(jié)構(gòu)

?已更專欄有C語言、計(jì)算機(jī)網(wǎng)絡(luò)?


👑目錄

包裝類🌙

?基本類型對(duì)應(yīng)的包裝類

?裝箱與拆箱

🌈自動(dòng)裝箱和顯式裝箱

🚀自動(dòng)裝箱:

🚀顯式裝箱

🚀?Integer類的緩存機(jī)制:

🌈自動(dòng)拆箱和顯式拆箱

🚀自動(dòng)拆箱

🚀顯式拆箱

?🌈相關(guān)面試題及知識(shí)點(diǎn)

泛型🌙

?語法

🌈基本泛型類定義:

🌈多類型參數(shù)的泛型類:

🌈泛型類繼承自其它泛型類:

🌈泛型類繼承自特定類型的泛型類:

?🌈具體代碼舉例:

?泛型類的使用:

🌈語法:

🌈舉例:

?裸類型(了解):

?泛型的擦除機(jī)制(泛型如何編譯):

?泛型的上界

🌈語法:

🌈例子:

🌈復(fù)雜例子:

?泛型方法:

🌈方法示例:

🌈?使用方法示例:

🚀可以類型推導(dǎo):

🚀不使用類型推導(dǎo):


包裝類🌙

Java中每個(gè)基本數(shù)據(jù)類型都對(duì)應(yīng)了一個(gè)包裝類,

除了int的包裝類是Integer,char的包裝類是Character,其他的基本類型對(duì)應(yīng)的包裝類都是將首字母大寫。

?基本類型對(duì)應(yīng)的包裝類

基本數(shù)據(jù)類型包裝類
byteByte
shortShort
intInteger
longLong
charCharacter
booleanBoolean
floatFloat
doubleDouble

Java中的泛型中,不能直接使用基本數(shù)據(jù)類型作為類型參數(shù);

如果需要使用與基本數(shù)據(jù)類型相關(guān)的泛型,應(yīng)該使用它們對(duì)應(yīng)的包裝類。

?裝箱與拆箱

又叫裝包或拆包。

🌈自動(dòng)裝箱和顯式裝箱

🚀自動(dòng)裝箱:

自動(dòng)地將基本數(shù)據(jù)類型(如int、double等)轉(zhuǎn)換為它們對(duì)應(yīng)的包裝類(如Integer、Double等)

        int a = 6;//自動(dòng)裝箱Integer b = a;Integer b2 = (Integer)a;
🚀顯式裝箱
        int a = 6;//顯式裝箱,調(diào)用valueOf()方法Integer d = Integer.valueOf(888);Integer d2 = Integer.valueOf(a);Integer d3 = new Integer(a);//已棄用,避免使用
🚀?Integer類的緩存機(jī)制:

這個(gè)緩存機(jī)制默認(rèn)緩存 -128~127的所以Integer對(duì)象。

當(dāng)你創(chuàng)建Integer類型的對(duì)象時(shí),(使用.valueOf或自動(dòng)裝箱來創(chuàng)建對(duì)象,)

如果值在這個(gè)范圍內(nèi),Java會(huì)直接從內(nèi)存中返回已經(jīng)存在的對(duì)象,而不是創(chuàng)建新對(duì)象。

因此在這個(gè)范圍內(nèi)的Integer變量可能指向同一個(gè)對(duì)象示例。

為什么是可能?

如果使用顯式裝箱new Integer(int value)來創(chuàng)建,那么即使值在 -128~127這個(gè)范圍內(nèi),也不會(huì)從內(nèi)存中調(diào)用已經(jīng)存在的對(duì)象,而是創(chuàng)建一個(gè)新的對(duì)象示例。

🌈自動(dòng)拆箱和顯式拆箱

🚀自動(dòng)拆箱
         Integer a = 99;//自動(dòng)拆箱int b = a;int b2 = (int)a;
🚀顯式拆箱
        Integer a = 99;//顯式拆箱int c = a.intValue();double d = a.doubleValue();

?🌈相關(guān)面試題及知識(shí)點(diǎn)

下面代碼輸出內(nèi)容是什么?

 public static void main(String[] args) {Integer aa = 128;Integer bb = 128;System.out.println(aa == bb);Integer a = 127;Integer b = 127;System.out.println(a == b);}

答案是false和true?

為什么呢?

這涉及兩個(gè)知識(shí)點(diǎn):Integer的緩存機(jī)制、引用類型的比較方式。

這里用自動(dòng)裝箱將int類型值轉(zhuǎn)換為Integer對(duì)象,其中a和b為127,在 -128~127這個(gè)范圍內(nèi),因此a和b都指向內(nèi)存中返回的同一個(gè)對(duì)象。

而aa、bb值不在范圍內(nèi),因此aa、bb各自創(chuàng)建一個(gè)新的對(duì)象。

另外,代碼中是用 == 來比較的,在引用類型中,==比較的是實(shí)例對(duì)象的地址,.equals()比較的是對(duì)象的內(nèi)容,.compareTo()比較的是內(nèi)容大小。

a和b指向同一個(gè)對(duì)象,因此 a==b結(jié)果為true;

aa和bb指向的不是同一個(gè)對(duì)象,因此 aa==bb結(jié)果為false。

泛型🌙

通俗講,泛型就是適用于許多類型。

從代碼角度上看,泛型就是將類型參數(shù)化。編譯時(shí)自動(dòng)進(jìn)行類型檢查和轉(zhuǎn)換

泛型的主要目的:

就是指定當(dāng)前的容器,要持有什么類型的對(duì)象。讓編譯器去做檢查。此時(shí),就需要把類型,作為參數(shù)傳遞。需要什么類型,就傳入什么類型。

?語法

🌈基本泛型類定義:

class 泛型類名稱<類型形參列表> {  // 這里可以使用類型參數(shù)  
}

這里的泛型類名稱是類的名稱就,<類型形參列表>是定義在尖括號(hào)中的類型參數(shù)列表,它們是占位符,用于在類的定義中指定不確定的類型。

例如

class Box<T> {  private T t;  public void set(T t) {this.t = t; }  public T get() {return t; }  
}

🌈多類型參數(shù)的泛型類:

class ClassName<T1, T2, ..., Tn> {  
}

該類可以擁有多個(gè)類型參數(shù)。類型參數(shù)之間用逗號(hào)分隔。這樣的類可以更加靈活,因?yàn)樗梢酝瑫r(shí)處理多種類型的數(shù)據(jù)。

例如:

class Pair<K, V> {  private K key;  private V value;  public void setKey(K key) {this.key = key; }  public void setValue(V value) { this.value = value; }  public K getKey() { return key;}  public V getValue() { return value;}  
}

🌈泛型類繼承自其它泛型類:

class 泛型類名稱<類型形參列表> extends 繼承類<這里可以使用類型參數(shù)> {  // 這里可以使用類型參數(shù)  
}

當(dāng)泛型類繼承自另一個(gè)泛型類時(shí),子類可以定義自己的類型參數(shù)列表,并且可以在繼承時(shí)使用父類的類型參數(shù)。子類可以選擇性地覆蓋或保留父類的類型參數(shù)。

例如:

class GenericList<E> {  // 假設(shè)這里有一些與E類型相關(guān)的操作  
}  class MyList<T> extends GenericList<T> {  // 這里可以直接使用T,因?yàn)門被傳遞給了GenericList  
}

🌈泛型類繼承自特定類型的泛型類:

class ClassName<T1, T2, ..., Tn> extends ParentClass<T1> {  // 可以只使用部分類型參數(shù)  
}

?🌈具體代碼舉例:

 class MyArray<T> {public Object[] array =  new Object[10];public T getPos(int pos) {return (T)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<>();//1myArray.setVal(0,10);myArray.setVal(1,12);int ret = myArray.getPos(1);//2System.out.println(ret);myArray.setVal(2,"Java");//3,此處報(bào)錯(cuò)}}

注釋1處,類型后加入<Integer>指定當(dāng)前類型。

注釋2處不用再進(jìn)行強(qiáng)制類型轉(zhuǎn)換,因?yàn)樵趃etpos()中返回值前就轉(zhuǎn)換了。

注釋3處報(bào)錯(cuò),"Java"是String類型,但myArray已經(jīng)指定了Integer類型,編譯報(bào)錯(cuò)。編譯器會(huì)在我們存放元素時(shí)進(jìn)行類型檢查。

類名后的<T>代表占位符,表示當(dāng)前類是一個(gè)泛型類,< >中必須是引用類型,不能是基本數(shù)據(jù)類型。

類型形參一般用一個(gè)大寫字母表示,常見的有:

T代表Type? ? ? ????????? E代表Element? ? ? ? ????????K代表Key? ? ? ? ????????V代表Value????????

N代表Number? ? ? ? ? ?S、U、V……第二、第三、第四個(gè)類型

?泛型類的使用:

🌈語法:

泛型類<類型參數(shù)> 變量名字;? ?//定義一個(gè)泛型類引用

new 泛型類<類型實(shí)參> (構(gòu)造方法實(shí)參);? ? //實(shí)例化一個(gè)泛型類對(duì)象

🌈舉例:

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

當(dāng)編譯器可根據(jù)上下文推導(dǎo)處類型參數(shù)的時(shí)候,可以省略< >中的類型參數(shù)

MyArray<Integer> arr = new MyArray<>();?

?裸類型(了解):

是一個(gè)泛型類,但是沒有類型實(shí)參:

MyArray arr = new MyArray();

我們不需要自己去使用裸類型,它是為了兼容老版本的API保留的機(jī)制。?

?泛型的擦除機(jī)制(泛型如何編譯):

在編譯過程中將所有的T替換為Object,這種機(jī)制就是擦除機(jī)制。

當(dāng)泛型類被類型擦除時(shí),如果泛型類中的類型參數(shù)部分指定上限(如<T extends String>),則類型參數(shù)會(huì)被替換成類型上限。

Java的泛型機(jī)制是在編譯級(jí)別實(shí)現(xiàn)的,因此編譯器生成的字節(jié)碼文件中不包含泛型的類型信息。

?泛型的上界

🌈語法:

class 泛型類名稱<類型形參 extends 類型邊界> {...}

注意與繼承了其它泛型類的泛型類區(qū)別

🌈例子:

 public class MyArray<E extends Number> {...}

?這里只接收Number的子類作為類型參數(shù)

MyArray<Integer> l1;???????? // 正常,因?yàn)?Integer 是 Number 的子類型

MyArray<String>?l2; ????????// 編譯錯(cuò)誤,因?yàn)?String 不是 Number 的子類型

沒有指定類型上界時(shí),可視為<E extends Object>?

🌈復(fù)雜例子:

public class MyArray<E extends Comparable<E>> {...}

這里表示類型參數(shù)E必須是實(shí)現(xiàn)了Comparable<E>接口的任何類型,實(shí)現(xiàn)了這個(gè)接口后,

這個(gè)類的對(duì)象可以與其它同類型的對(duì)象進(jìn)行比較。

?泛型方法:

方法限定符 返回值類型 方法名稱(形參列表) { ... }

🌈方法示例:

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;}}

🌈?使用方法示例:

🚀可以類型推導(dǎo):
Integer[] a = { ... };swap(a, 0, 9);String[] b = { ... };swap(b, 0, 9);
🚀不使用類型推導(dǎo):
 Integer[] a = { ... };Util.<Integer>swap(a, 0, 9);String[] b = { ... };Util.<String>swap(b, 0, 9)

🎉🎉本次內(nèi)容結(jié)束啦

🌹如有問題,歡迎評(píng)論區(qū)討論~~🌹

感謝支持🥰

?

http://m.risenshineclean.com/news/64585.html

相關(guān)文章:

  • 泰州做直銷會(huì)員結(jié)算管理網(wǎng)站公司網(wǎng)站如何推廣
  • wordpress 主題庫安徽seo人員
  • ??诰W(wǎng)站建設(shè)公司哪家好抖音seo優(yōu)化
  • 圖書館網(wǎng)站建設(shè)情況說明網(wǎng)站排名優(yōu)化多少錢
  • 做網(wǎng)站避免上當(dāng)文案短句干凈治愈
  • 手機(jī)網(wǎng)站注冊(cè)頁面百度一下你就知道移動(dòng)首頁
  • 阿里云輕云服務(wù)器可以放多個(gè)網(wǎng)站啊怎么做做網(wǎng)站需要準(zhǔn)備什么
  • dreamweaver最新版本引擎優(yōu)化是什么意思
  • 響應(yīng)式建站工具58同城發(fā)布免費(fèi)廣告
  • 公司名logo設(shè)計(jì)圖片seow是什么意思
  • 設(shè)計(jì)公司給公司做網(wǎng)站用了方正字體app開發(fā)教程
  • 網(wǎng)站做app的軟件叫什么seo快速優(yōu)化排名
  • 個(gè)人網(wǎng)站系統(tǒng)優(yōu)秀網(wǎng)站網(wǎng)頁設(shè)計(jì)圖片
  • 代辦公司營業(yè)執(zhí)照長沙seo推廣公司
  • 平度網(wǎng)站建設(shè)網(wǎng)絡(luò)優(yōu)化工程師簡歷
  • 網(wǎng)站建設(shè)入門教程視頻抖音代運(yùn)營公司
  • 站酷網(wǎng)站的圖是用什么做的百度指數(shù)app下載
  • 做機(jī)械的網(wǎng)站有哪些軟文營銷實(shí)施背景
  • 海外營銷網(wǎng)站設(shè)計(jì)英文seo實(shí)戰(zhàn)派
  • 網(wǎng)頁設(shè)計(jì)推薦網(wǎng)站百度推廣咨詢
  • 自己買域名可以做網(wǎng)站嗎百度如何做推廣
  • 和碩網(wǎng)站建設(shè)騰訊廣告投放平臺(tái)官網(wǎng)
  • php無版權(quán)企業(yè)網(wǎng)站管理系統(tǒng)優(yōu)化軟件下載
  • 淮安神舟建設(shè)招標(biāo)網(wǎng)站電商平臺(tái)怎么做
  • 外匯網(wǎng)站模版網(wǎng)絡(luò)流量分析工具
  • 做任務(wù)賺錢的網(wǎng)站起什么名字好網(wǎng)站建設(shè)百度推廣
  • 網(wǎng)站開發(fā) 上海查排名的軟件有哪些
  • app制作平臺(tái)要多少錢seo網(wǎng)站優(yōu)化培訓(xùn)班
  • 網(wǎng)站怎么做移動(dòng)圖片百度一下網(wǎng)頁
  • 企業(yè)網(wǎng)站建設(shè)基本流程危機(jī)公關(guān)處理方案