"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 um bloco finalmente afeta o valor de retorno de um método em Java?

Como um bloco finalmente afeta o valor de retorno de um método em Java?

Postado em 2025-02-06
Navegar:276

How Does a Finally Block Affect the Return Value of a Method in Java?

Impacto do Bloco Finalmente no Valor de Retorno

Em Java, o comportamento de um bloco finalmente no valor de retorno de um método pode ser contra -intuitivo . Vamos analisar um snippet de código e aprofundar as razões subjacentes a este fenômeno. String privado s; public string foo () { tentar { s = "dev"; retorno s; } finalmente { s = "Substituir variáveis ​​s"; System.out.println ("Entrada em finalmente bloco"); } } public static void main (string [] xyz) { Teste obj = new test (); System.out.println (obj.foo ()); } }

Quando executado, o código imprime "entrada em finalmente bloco", mas retorna "dev." Isso ocorre porque o valor de retorno é determinado pela execução da instrução Retorno no bloco de tentativas. A alteração feita para 'S' no bloco finalmente ocorre após a conclusão do bloco de tentativa e, portanto, não se reflete no valor de retorno.

public class Test {

    private String s;

    public String foo() {
        try {
            s = "dev";
            return s;
        } finally {
            s = "override variable s";
            System.out.println("Entry in finally Block");
        }
    }

    public static void main(String[] xyz) {
        Test obj = new Test();
        System.out.println(obj.foo());
    }
}
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