Java Passagem por valor e referência
No código Java fornecido, a variável toyNumber é passada por valor para play() método. Isso significa que uma cópia da variável é criada dentro do método e quaisquer modificações feitas no método não são refletidas na variável original. Isso resulta na saída mostrando que o toyNumber em main() permanece inalterado após ser modificado no método play().
Para obter o equivalente à passagem por referência para primitivos em Java, você pode considerar as seguintes opções:
Passar uma referência para um objeto
Crie uma classe para encapsular a variável primitiva como uma variável de membro. Passe uma instância desta classe para o método, passando efetivamente uma referência à variável primitiva.
Retorne o valor modificado
Modifique o método play() para retornar o valor modificado de número do brinquedo. Isso requer a atualização da chamada em main() para atribuir o valor retornado à variável original.
Classe ou variável estática
Se as duas funções forem definidas dentro da mesma classe ou classe Por exemplo, você pode definir toyNumber como uma classe ou variável estática. Isso o torna acessível a ambas as funções e garante que quaisquer modificações feitas sejam refletidas na variável original.
Matriz de elemento único
Passe uma matriz de elemento único contendo a variável primitiva. Isso é considerado um hack, mas pode ser usado para obter um comportamento semelhante ao de passagem por referência.
Ao adotar essas técnicas, você pode emular efetivamente o comportamento de passagem por referência para tipos primitivos em Java, permitindo que você modifique as variáveis originais mesmo quando elas são passadas como argumentos para métodos.
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