다중 반환 및 최종 값 결정
아래 코드 조각에 예시된 것처럼 여러 반환 문이 있는 함수와 관련된 특이한 코딩 방법이 있습니다.
String test() { try { return "1"; } finally { return "2"; } }
이 구성을 고려하면 다음과 같은 질문이 생깁니다. Java 언어 사양이 (JLS)는 모든 JVM(Java Virtual Machine)에서 일관되게 최종 반환 값을 정의합니까?
JLS에 따르면 여러 반환 문이 있는 함수에서 반환되는 정확한 값이 명시적으로 지정됩니다. 제공된 예에서 반환 값은 "2"로 명확하게 정의되어 있습니다. 즉, JVM이 이 사양에서 벗어나면 JLS를 준수하지 않는 것으로 간주됩니다.
대부분의 컴파일러는 이러한 색다른 관행에 대해 경고 또는 오류 메시지를 발행한다는 점에 유의하는 것이 중요합니다. 예를 들어 Eclipse는 반환 블록이 실행되지 않을 것이라고 잘못 표시합니다. 그럼에도 불구하고 JLS는 컴파일러 경고보다 우선합니다.
JLS는 다중 반환이 있는 함수의 반환 값을 지정하지만 명확성과 유지 관리 문제로 인해 사용을 강력히 권장하지 않습니다. 일반적으로 이러한 구조에 의존하는 것은 좋지 않은 관행으로 간주되므로 개발자는 보다 간단하고 읽기 쉬운 코드를 목표로 해야 합니다.
위 내용은 Java 언어 사양은 여러 반환 문이 있는 함수의 최종 반환 값을 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!