理解Java 中的深拷貝、淺拷貝和克隆
在討論「深拷貝、淺拷貝、克隆」時,複製物件的概念常會產生誤解。 「『淺複製』和『複製』。在Java 上下文中,區分『複製值』和『複製物件』至關重要。
淺複製與深複製
淺複製對於一個對象,僅複製該對象的第一層。的陣列。提供什麼構成「層級」的明確定義。語意是不明確的:
<code class="java">Example eg1 = new Example(1, new int[]{1, 2}); Example eg2 = new Example(eg1.foo, eg1.bar); // Shallow copy</code>
Java API 沒有指定克隆是否產生淺拷貝或深拷貝。 >
<code class="java">Example eg2 = new Example(eg1.foo, Arrays.copy(eg1.bar)); // Deep copy</code>
以上是深入研究 Java:淺複製、深複製和克隆之間有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!