Olá pessoal,
Sou novo no java, então se eu perguntar algo muito óbvio me perdoem.
Bem, pelo que pesquisei, no java a passagem de parâmetros se dá por referência, né? Isso não pode ser perigoso?
Em uma classe, tenho algo do tipo:
void setData(Calendar data){
this.data = data;
}
Diagamos que ao utilizar o método, eu passe como parâmetro um objeto Calendar de outra classe. Isso traria efeitos indesejáveis, porque, depois do método, qualquer alteração em uma das datas, também ocasionaria uma mudança na outra. Estou certo?
Como não quero isso, estou codificando o meu set da seguinte maneira:
void setData(Calendar data){
this.data = (Calendar) data.clone();
}
Essa seria a melhor maneira de fazer isso? Existe algum padrão? Porque eu acho que atribuir um objeto diretamente cria uma vinculação desnecessária e até perigosa.
Bem, espero ter sido claro. Obrigado!
