"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como copiar corretamente um array 2D em Java para preservar as modificações?

Como copiar corretamente um array 2D em Java para preservar as modificações?

Publicado em 2024-11-08
Navegar:357

How to Properly Copy a 2D Array in Java to Preserve Modifications?

Preservando modificações de array 2D com duplicação

Em Java, ao criar cópias de objetos, é crucial entender o comportamento de atribuição de referência. No cenário fornecido, dois arrays 2D chamados atuais e antigos são definidos, junto com métodos para copiar o conteúdo.

O método old() atribui o array atual ao antigo. No entanto, isso apenas transfere a referência para o mesmo array na memória. Quando atualizações são feitas no atual, o antigo também reflete essas alterações, uma vez que ambos apontam para o mesmo array subjacente.

O método keepold() tenta atribuir o array antigo ao atual. Novamente, isso apenas atualiza a referência, deixando o array atual original inalterado. Como resultado, quando são feitas atualizações no atual, o conteúdo do antigo permanece inalterado.

Para criar uma cópia verdadeira de um array 2D em Java, é necessário copiar manualmente cada elemento. Alternativamente, para uma cópia mais eficiente, você pode utilizar o método Arrays.stream().map()...toArray(), que emprega a API streams para criar um clone de cada linha e montá-los em um novo array.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3