> Java > java지도 시간 > 본문

Java 언어 사양은 여러 반환 문이 있는 함수의 최종 반환 값을 어떻게 정의합니까?

Susan Sarandon
풀어 주다: 2024-11-19 04:10:02
원래의
889명이 탐색했습니다.

How Does the Java Language Specification Define the Final Return Value for Functions with Multiple Return Statements?

다중 반환 및 최종 값 결정

아래 코드 조각에 예시된 것처럼 여러 반환 문이 있는 함수와 관련된 특이한 코딩 방법이 있습니다.

String test() {
    try {
        return "1";
    } finally {
        return "2";
    }
}
로그인 후 복사

이 구성을 고려하면 다음과 같은 질문이 생깁니다. Java 언어 사양이 (JLS)는 모든 JVM(Java Virtual Machine)에서 일관되게 최종 반환 값을 정의합니까?

JLS에 따르면 여러 반환 문이 있는 함수에서 반환되는 정확한 값이 명시적으로 지정됩니다. 제공된 예에서 반환 값은 "2"로 명확하게 정의되어 있습니다. 즉, JVM이 이 사양에서 벗어나면 JLS를 준수하지 않는 것으로 간주됩니다.

대부분의 컴파일러는 이러한 색다른 관행에 대해 경고 또는 오류 메시지를 발행한다는 점에 유의하는 것이 중요합니다. 예를 들어 Eclipse는 반환 블록이 실행되지 않을 것이라고 잘못 표시합니다. 그럼에도 불구하고 JLS는 컴파일러 경고보다 우선합니다.

JLS는 다중 반환이 있는 함수의 반환 값을 지정하지만 명확성과 유지 관리 문제로 인해 사용을 강력히 권장하지 않습니다. 일반적으로 이러한 구조에 의존하는 것은 좋지 않은 관행으로 간주되므로 개발자는 보다 간단하고 읽기 쉬운 코드를 목표로 해야 합니다.

위 내용은 Java 언어 사양은 여러 반환 문이 있는 함수의 최종 반환 값을 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿