> Java > java지도 시간 > Java 일반 경계 및 해당 역할

Java 일반 경계 및 해당 역할

王林
풀어 주다: 2024-04-12 21:48:02
원래의
1287명이 탐색했습니다.

Java 일반 경계는 유형 매개변수에 대한 제약 조건을 지정하여 이러한 제약 조건을 충족하는 유형만 사용할 수 있도록 보장합니다. 일반 경계에는 상한(확장)과 하한(수퍼)이라는 두 가지 유형이 있습니다. 상한에서는 유형 매개변수가 지정된 유형의 하위 클래스여야 하고, 하한에서는 유형 매개변수가 지정된 유형의 슈퍼클래스여야 합니다. 일반 경계는 유형 안전성을 강화하고 성능 및 코드 가독성을 향상시킵니다.

Java 泛型边界与它的作用

Java Generics 경계 및 그 역할

Overview

Generics는 다양한 유형의 데이터에 작동하는 클래스와 메서드를 만들 수 있는 Java의 강력한 기능입니다. 일반 경계를 사용하면 유형 매개변수에 대한 제약 조건을 지정할 수 있으므로 이러한 제약 조건을 충족하는 유형만 사용할 수 있습니다.

일반 경계 유형

Java는 두 가지 유형의 일반 경계를 제공합니다.

  • 상한(확장): 유형 매개변수는 지정된 유형 또는 자체의 하위 클래스여야 합니다.
  • 하한(슈퍼): 유형 매개변수는 지정된 유형 또는 그 자체의 슈퍼클래스여야 합니다.

일반 경계 사용

일반 경계를 사용할 때 일반 선언에 경계를 지정합니다.

<T extends Number> // 上限边界
로그인 후 복사

extends 키워드는 TNumber 클래스의 하위 클래스 또는 Number 자체. extends 关键字表示 T 必须是 Number 类的子类或 Number 本身。

<? super String> // 下限边界
로그인 후 복사

super 关键字表示 T 必须是 String 类的超类或 String 本身。

实战案例

让我们创建一个 LinkedList 来存储数字,并使用上限边界来确保列表中只包含 Number 类型:

import java.util.LinkedList;

class NumberList<T extends Number> {
    private LinkedList<T> numbers;

    public NumberList() {
        numbers = new LinkedList<>();
    }

    public void add(T number) {
        numbers.add(number);
    }

    public T get(int index) {
        return numbers.get(index);
    }
}
로그인 후 복사

在这个例子中,T 被限制为 Number 的子类,这意味着我们只能添加和检索 Number 及其子类(如 IntegerDoublerrreee

super 키워드는 TString 클래스 또는 String 자체의 슈퍼클래스여야 함을 의미합니다.

실용 사례

LinkedList를 만들어 숫자를 저장하고 상한을 사용하여 목록에 숫자만 포함되도록 합시다. 다음을 입력하세요.
    rrreee
  • 이 예에서는 , TNumber의 하위 클래스로 제한됩니다. 즉, Number와 해당 하위 클래스(예: Integer)만 추가하고 검색할 수 있습니다. Double) 유형 데이터입니다.
  • 이점
제네릭 경계를 사용하면 다음과 같은 이점이 있습니다. 🎜🎜🎜향상된 유형 안전성: 잘못된 유형이 제네릭 클래스나 메서드에 전달되는 것을 방지하는 데 도움이 됩니다. 🎜🎜향상된 성능: 컴파일러는 특정 유형의 제약 조건을 알고 있기 때문에 더 나은 최적화를 수행할 수 있습니다. 🎜🎜코드 가독성 향상: 일반 경계를 사용하면 허용되는 데이터 유형을 명확하게 지정하므로 코드를 더 쉽게 이해할 수 있습니다. 🎜🎜

위 내용은 Java 일반 경계 및 해당 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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