Essa pergunta me parece tão simples que dá até vergonha de perguntar :oops:
Como eu faço para fazer uma cópia de um objeto no Java?
Essa pergunta me parece tão simples que dá até vergonha de perguntar :oops:
Como eu faço para fazer uma cópia de um objeto no Java?
Na verdade, o Java foi construído de forma que você não fique copiando objetos desnecessariamente.
Mas se precisar disso, veja se o objeto implementa Cloneable e tem o método “clone” corretamente implementado.
Se for um objeto com muitos filhos não sei se funciona o clone corretamente.
Assim acho melhor vc serializar o objeto e deserializar esse objeto novamente para ter um clone completo dele.
Existem vários códigos desse espalhados na net.
Na verdade, o Java foi construído de forma que você não fique copiando objetos desnecessariamente.Mas se precisar disso, veja se o objeto implementa Cloneable e tem o método “clone” corretamente implementado.
Pelo visto é mais complicado do que parece hehe. Mas nesse caso é necessário, pois ele implementa um copiar/colar
Oi pessoal estou precisando a mesma coisa não consigo, Detalhe o objeto que estou querendo clonar não é meu e tbm não tem o método clone()…
valeu Obrigado
Object cloneSerializable(Serializable obj) {
ObjectOutputStream out = null;
ObjectInputStream in = null;
try {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
out = new ObjectOutputStream(bout);
out.writeObject(obj);
out.close();
ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray());
in = new ObjectInputStream(bin);
Object copy = in.readObject();
in.close();
return copy;
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if(out != null) {
out.close();
}
if(in != null) {
in.close();
}
} catch (IOException ignore) {}
}
return null;
}