5種Java中數(shù)組的拷貝方法總結(jié)分享
1、for循環(huán)
for循環(huán)拷貝是最簡單直觀的方法,循環(huán)訪問當(dāng)前數(shù)組的每一個元素,并復(fù)制到新數(shù)組的相應(yīng)下標(biāo)。
示例代碼:
運行結(jié)果:
2、調(diào)用clone()方法
該方法是類Object類中的方法;使用clone方法進(jìn)行拷貝時,是將arr中的所有元素都拷貝下來,不可以挑選。 clone() 方法的返回值是 Object 類型,要使用強制類型轉(zhuǎn)換為適當(dāng)?shù)念愋汀?/p>
示例代碼:
運行結(jié)果:
3、Arrays類中的Arrays.copyOf()方法
該方法是整體拷貝。
int [] original:將要拷貝的原數(shù)組
int newLength:新數(shù)組的長度;可以擴容到原數(shù)組長度的2倍
使用這種方法復(fù)制數(shù)組時,默認(rèn)從原數(shù)組的第一個元素(下標(biāo)為 0)開始復(fù)制,新數(shù)組的長度將為 newlength。如果新數(shù)組長度 length 大于原數(shù)組長度,則新數(shù)組中采用默認(rèn)值0進(jìn)行填充;如果 newlength 小于原數(shù)組長度,則復(fù)制到第 length 個元素(下標(biāo)為 length-1)截止。
這個方法底層調(diào)用了System.arraycopy方法:
示例代碼:
運行結(jié)果:
4、copyOfRange()方法
該方法是Arrays 類中的 CopyOfRange() 方法,該方法用于拷貝某個范圍
- int[] original:將要拷貝的原數(shù)組
- int from:拷貝數(shù)組的起始下標(biāo) ,下標(biāo)值必須在 0 到原數(shù)組長度之間;
int to:拷貝數(shù)組的終止下標(biāo),且終止下標(biāo)必須大于等于起始下標(biāo),也可以大于 arr.length,如果大于 arr.length,則新數(shù)組中剩余的空位置用默認(rèn)值0進(jìn)行填充。
示例代碼:
運行結(jié)果:
5、System.arraycopy()方法
該方法位于System類中,語法形式如下:
使用此方法復(fù)制數(shù)組時,length+srcPos必須小于等于原數(shù)組的長度,同時 length+destPos 必須小于等于新數(shù)組的長度。
示例代碼:
運行結(jié)果:
到此這篇關(guān)于5種Java中數(shù)組的拷貝方法總結(jié)分享的文章就介紹到這了,更多相關(guān)Java數(shù)組拷貝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot整合logback一個簡單的日志集成架構(gòu)
今天小編就為大家分享一篇關(guān)于Spring Boot整合logback一個簡單的日志集成架構(gòu),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01springboot中PostMapping正常接收json參數(shù)后返回404問題
這篇文章主要介紹了springboot中PostMapping正常接收json參數(shù)后返回404問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05SpringBoot使用@EnableAutoConfiguration實現(xiàn)自動配置詳解
你有想過SpringBoot為什么能夠自動的幫我們創(chuàng)建一個Bean對象么?或許在我們使用的時候只需要在自己自定義的配置文件中加入@Bean對象就可以,但SpringBoot是如何來創(chuàng)建的呢2022-08-08