更新時間:2020-09-18 17:28:13 來源:動力節(jié)點 瀏覽3197次
相信有java程序員崗位面試經(jīng)歷的朋友們,都知道在面試中的java面試題考察的是基礎(chǔ)知識,各大公司也越來越重視面試者是否有扎實的java基本功。Java數(shù)組就屬于基礎(chǔ)知識,java數(shù)組拷貝4種方式是其中的重點學(xué)習(xí)內(nèi)容之一,下面就為大家總結(jié)好了java數(shù)組拷貝4種方式的知識點,趕緊來學(xué)習(xí)吧!
Java數(shù)組是什么呢,還是先帶著java零基礎(chǔ)的新手們來復(fù)習(xí)一下:數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),用來存儲同一類型值的集合。通過一個整型下標(biāo)可以訪問數(shù)組中的每一個值。數(shù)組的使用能為程序的編寫提供十分的便捷,在復(fù)雜的程序編寫中不可能離得開數(shù)組,所以數(shù)組的使用時十分重要的。
Java數(shù)組拷貝4種方式如下:
1、clone方法
clone方法是從Object類繼承過來的,java數(shù)據(jù)類型(int ,boolean,char,byte,short,float ,double,long)都可以直接使用clone方法進行克隆,注意String類型是因為其值不可變所以才可以使用。
舉其中一個數(shù)據(jù)類型的例子——int數(shù)據(jù)示例:
2、System.arraycopy方法
System.arraycopy方法是一個本地的方法,源碼里定義如下:
public static native void arraycopy(Object src, int srcPos, Object dest, int desPos, int length)
其參數(shù)含義為:(原數(shù)組, 原數(shù)組的開始位置, 目標(biāo)數(shù)組, 目標(biāo)數(shù)組的開始位置, 拷貝個數(shù))
這個java數(shù)組拷貝方式也有示例,如下:
3、Arrays.copyOf
Arrays.copyOf的java數(shù)組拷貝方式的底層其實也是用的System.arraycopy源碼如下:
使用該方法進行java數(shù)組拷貝無需我們事先使用new關(guān)鍵字對對象進行內(nèi)存單元的分配。
4、Arrays.copyOfRange
Arrays.copyOfRange底層其實也是用的System.arraycopy,只不過封裝了一個方法。
最后需要注意的是基本類型的拷貝是不影響原數(shù)組的值的,如果是引用類型,就不能在這用了,因為數(shù)組的拷貝是淺拷貝,對于基本類型可以,對于引用類型是不適合的。
希望大家好好學(xué)習(xí)上面的內(nèi)容,掌握好這篇文章中java數(shù)組拷貝4種方式。另外還可以在學(xué)完這篇文章的知識后,在java視頻教程中獲取并學(xué)習(xí)更多的java數(shù)組拷貝以及編程的內(nèi)容,提高自己的java水平。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743