>Java >java지도 시간 >Java의 패턴 변수 범위 이해

Java의 패턴 변수 범위 이해

王林
王林원래의
2024-09-04 00:00:021121검색

Understanding the Scope of Pattern Variables in Java

범위는 특정 변수나 코드에 액세스하고 사용할 수 있는 범위 또는 경계를 나타냅니다. 프로그래밍에서 패턴 변수는 특정 데이터 구조를 일치시키는 데 사용되며 해당 범위는 특정 조건이나 명령문으로 제한될 수 있습니다.

사용자가 관리자이거나 일반 사용자일 수 있는 시나리오가 있다고 가정해 보겠습니다. instanceof 연산자를 사용하여 사용자 유형을 확인한 다음 역할에 따라 특정 속성에 액세스할 수 있습니다. 이 예에서 패턴 변수의 범위는 사용자의 특정 역할로 제한됩니다.

if (user instanceof Administrator admin) {
    // Here we can access the properties and methods of the admin user.
    admin.addNewUser();
} else if (user instanceof RegularUser regUser) {
    // Here we can only access the properties and methods of a regular user.
    regUser.editProfile();
}

위 코드에서 패턴 변수 admin의 범위는 instanceof 조건이 true인 if 문으로 제한됩니다. 이는 해당 명령문 내에서 관리자의 속성과 메소드에만 액세스할 수 있음을 의미합니다.

마찬가지로 패턴 변수의 범위는 해당 변수가 도입된 명령문 이상으로 확장될 수 있습니다. 주어진 모양이 직사각형인지, 충분히 큰지 확인하는 함수가 있다고 가정해 보겠습니다. 이 경우 패턴 변수 r의 범위는 그것이 도입된 if 문 이상으로 확장됩니다.

public static boolean bigEnoughRect(Shape s) {
    if (!(s instanceof Rectangle r)) {
        // Here the pattern variable 'r' cannot be used as the instance of Rectangle is false.
        return false;
    }
    // However, we can access the properties and methods of the rectangle 'r' here.
    return r.length() > 5; 
}

if 문의 표현식에도 패턴 변수를 사용할 수 있습니다. 이를 통해 조건문이 true인 경우에만 패턴 변수에 액세스할 수 있습니다. 다음 예에서는 조건부 AND 연산자를 사용하여 직사각형의 길이가 5보다 큰지 확인하기 위해 패턴 변수 r을 사용합니다.

if (shape instanceof Rectangle r && r.length() > 5) {
    // Here we can use the pattern variable 'r' to access the properties of a rectangle only if the instance of Rectangle is true.
    System.out.println("This rectangle is big enough!");
}

그러나 패턴 일치를 위해 조건문에서 instanceof 연산자를 사용할 수는 없습니다. 이는 다른 유형의 범위를 확인하기 때문입니다. 다음 예에서는 Rectangle 인스턴스가 false인 경우 패턴 변수 r의 범위에 액세스할 수 없기 때문에 프로그램에서 오류가 발생합니다.

if (shape instanceof Rectangle r || r.length() > 0) { // error
    // Here we cannot use the pattern variable 'r' as it may or may not exist depending on the instance of Rectangle.
    System.out.println("This is a rectangle with a length greater than 0");
}

결론적으로 패턴 변수의 범위는 코드 내에서 패턴 변수에 액세스하고 사용할 수 있는 위치를 결정하는 데 필수적입니다. 범위를 이해함으로써 패턴 변수를 효율적으로 사용하여 데이터 구조를 일치시키고 효율적이고 오류 없는 코드를 작성할 수 있습니다.

위 내용은 Java의 패턴 변수 범위 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java 인증 가이드 4다음 기사:Java 인증 가이드 4