How do I do a deep copy of a 2d array in Java?

前端 未结 6 1401
深忆病人
深忆病人 2020-11-22 02:07

I just got bit by using .clone() on my 2d boolean array, thinking that this was a deep copy.

How can I perform a deep copy of my bool

6条回答
  •  南旧
    南旧 (楼主)
    2020-11-22 02:28

    In Java 8 this can be accomplished as a one-liner using lambdas:

     T[][] deepCopy(T[][] matrix) {
        return java.util.Arrays.stream(matrix).map(el -> el.clone()).toArray($ -> matrix.clone());
    }
    

提交回复
热议问题