最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 中數(shù)組初始化實(shí)例詳解

 更新時間:2017年05月28日 09:09:10   作者:非水非云  
這篇文章主要介紹了 本文主要講數(shù)組的初始化方法、可變參數(shù)列表以及可變參數(shù)列表對函數(shù)重載的影響的相關(guān)資料,需要的朋友可以參考下

1.數(shù)組初始化

定義數(shù)組的方式:

  int[] arr1; 或  int arr1[];

數(shù)組初始化

  通過上邊的定義,我們只是得到了一個數(shù)組的引用。這時已經(jīng)為引用分配了存儲空間,但是還沒有給數(shù)組對象本身分配任何空間。想要給數(shù)組對象分配存儲空間,必須使用初始化表達(dá)式。

a.在數(shù)組創(chuàng)建的地方進(jìn)行初始化,如:

int[] arr1 = {1,2,3,4,5};

  這種方式等價于使用new來進(jìn)行存儲空間分配。

b.給數(shù)組的引用賦值,如:

int[] arr1 = {1,2,3,4,5};
int[] arr2;
arr2 = arr1;

  復(fù)制的只是一個引用。如下圖:

  所有的數(shù)組都有一個固定成員length,通過它可以知道數(shù)組元素的個數(shù)。

 c.當(dāng)不確定數(shù)組元素的個數(shù)時的數(shù)組創(chuàng)建

  當(dāng)數(shù)組元素個數(shù)不確定時,我們可以直接使用new在數(shù)組里創(chuàng)建元素。注意new可以應(yīng)用于基本類型的數(shù)組,但是不能應(yīng)用于單個的基本類型。

d.在定義數(shù)組的同時也可以進(jìn)行初始化,當(dāng)創(chuàng)建一個非基本類型的數(shù)組時,實(shí)際上創(chuàng)建的是引用數(shù)組。

 可以用花括號列表的形式來初始化對象數(shù)組,有兩種形式:

 2.可變參數(shù)列表

下圖標(biāo)出了參數(shù)列表的使用方式、格式和對傳入?yún)?shù)的要求。

2.1 列表參數(shù)類型可以不同的情況

可變參數(shù)類型為Object,因?yàn)樗械念惗贾苯踊蜷g接的繼承自O(shè)bject類,可以向上轉(zhuǎn)型為Object,因此參數(shù)列表中的類型可以不一致。

輸出如下圖:

2.2 列表參數(shù)類型必須相同的情況

  當(dāng)然可變參數(shù)參數(shù)列表也可以作為函數(shù)的一個參數(shù)傳入,如下圖。這里的參數(shù)列表中的參數(shù)類型為string,則所有的參數(shù)必須是string類型,與上面的程序不同。

 2.3 可變參數(shù)列表中的參數(shù)可以是任何類型,包括基本類型

下面是可變參數(shù)列表為數(shù)組的例子:

從輸出結(jié)果的最后兩行可知,可變參數(shù)列表實(shí)際使用的是基本類型,不依賴自動包裝機(jī)制。

2.4 可變參數(shù)列表和自動包裝機(jī)制

但是,我們要知道,可變參數(shù)列表和自動包裝機(jī)制可以“共處”,如下圖:

2.5 可變參數(shù)列表與函數(shù)重載 

可變參數(shù)列表使重載過程變得復(fù)雜:

在上面的所有帶參數(shù)的函數(shù)調(diào)用,編譯器都會使用自動包裝機(jī)制來匹配重載的方法,然后調(diào)用最匹配的方法。但是不使用使用參數(shù)來f()時,編譯器會二義性錯誤:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
  The method f(Character[]) is ambiguous for the type OverloadingVarargs

  at thingjinjava.OverloadingVarargs.main(OverloadingVarargs.java:25)

那么,如何解決這個問題呢?

可以嘗試著在某個方法中增加一個非可變參數(shù)來解決該問題。

可是,程序仍然無法通過編譯,還是報上面同樣的錯誤。

但是,當(dāng)我們在給這兩個函數(shù)都添加一個非可變參數(shù),問題就可以解決了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • java實(shí)現(xiàn)請求緩沖合并的示例代碼

    java實(shí)現(xiàn)請求緩沖合并的示例代碼

    我們對外提供了一個rest接口給第三方業(yè)務(wù)進(jìn)行調(diào)用,但是由于第三方框架限制,導(dǎo)致會發(fā)送大量相似無效請求,這篇文章主要介紹了java實(shí)現(xiàn)請求緩沖合并,需要的朋友可以參考下
    2024-04-04
  • EntityWrapper如何在and條件中嵌套o(hù)r語句

    EntityWrapper如何在and條件中嵌套o(hù)r語句

    這篇文章主要介紹了EntityWrapper如何在and條件中嵌套o(hù)r語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 關(guān)于Intellij IDEA中的Version Control問題

    關(guān)于Intellij IDEA中的Version Control問題

    這篇文章主要介紹了Intellij IDEA中的Version Control問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Java8使用Stream流實(shí)現(xiàn)List列表查詢、統(tǒng)計、排序以及分組

    Java8使用Stream流實(shí)現(xiàn)List列表查詢、統(tǒng)計、排序以及分組

    List的Stream流操作可以簡化我們的代碼,減少程序運(yùn)行的壓力,應(yīng)對上面的問題,下面這篇文章主要給大家介紹了關(guān)于Java8使用Stream流實(shí)現(xiàn)List列表查詢、統(tǒng)計、排序以及分組的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • gRPC中interceptor攔截器的使用教程

    gRPC中interceptor攔截器的使用教程

    gRPC中的interceptor攔截器分為客戶端攔截器和服務(wù)端攔截器,分別是在客戶端和服務(wù)端的請求被發(fā)送出去之前進(jìn)行處理的邏輯,下面就跟隨小編一起學(xué)習(xí)一下interceptor攔截器的具體使用吧
    2023-08-08
  • Kotlin基礎(chǔ)教程之控制流(順序,分支,循環(huán))

    Kotlin基礎(chǔ)教程之控制流(順序,分支,循環(huán))

    這篇文章主要介紹了Kotlin基礎(chǔ)教程之控制流的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • java編程兩種樹形菜單結(jié)構(gòu)的轉(zhuǎn)換代碼

    java編程兩種樹形菜單結(jié)構(gòu)的轉(zhuǎn)換代碼

    這篇文章主要介紹了java編程兩種樹形菜單結(jié)構(gòu)的轉(zhuǎn)換代碼,首先介紹了兩種樹形菜單結(jié)構(gòu)的代碼,然后展示了轉(zhuǎn)換器實(shí)例代碼,最后分享了相關(guān)實(shí)例及結(jié)果演示,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Java獲取文件夾下所有文件名稱的方法示例

    Java獲取文件夾下所有文件名稱的方法示例

    這篇文章主要介紹了Java獲取文件夾下所有文件名稱的方法,涉及java針對文件與目錄相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Java多線程之中斷線程(Interrupt)的使用詳解

    Java多線程之中斷線程(Interrupt)的使用詳解

    interrupt字面上是中斷的意思,但在Java里Thread.interrupt()方法實(shí)際上通過某種方式通知線程,并不會直接中止該線程
    2013-05-05
  • Java 8 引入lambda表達(dá)式的原因解析

    Java 8 引入lambda表達(dá)式的原因解析

    這篇文章主要介紹了Java 8 引入lambda表達(dá)式的原因解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08

最新評論

南涧| 阿图什市| 综艺| 博客| 象州县| 青岛市| 新干县| 伊宁市| 武平县| 武城县| 九龙坡区| 故城县| 汉川市| 青海省| 昭通市| 自贡市| 灵山县| 抚州市| 祁门县| 沈阳市| 黎城县| 南投市| 大宁县| 水城县| 清丰县| 寻甸| 辉县市| 通河县| 吴川市| 巴马| 邵阳县| 邯郸县| 犍为县| 大埔区| 琼海市| 宜兰县| 曲麻莱县| 长寿区| 两当县| 宝丰县| 红原县|