Arrays.copyOf與System.arraycopy的區別

區別:System.arraycopy()必須先建立一個數組對象,而Arrays.copyOf()返回一個數組對象,不用事先new一個數組。Arrays.copyOf里面調用了System.arraycopy方法

Arrays.copyOf()測試:


Arrays類中的copyOf方法:


若newLength的大小大于original數組的大小,則后面的初始化為默認值,即 0

System.arraycopy()的實現:


這是一個native method ,這個方法是System類中的一個JNI實現

(JNI,Java Native Interface 故名思意,就是java語言調其它語言的一個接口)

這個JNI的底層在不同的平臺上不一樣。

打個比方windows 其實java的JNI就是調了dll。

Unix 其實就是調了.so 共享庫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容