>  기사  >  Java  >  Java 함수 제네릭의 상한과 하한은 무엇입니까? 사용하는 방법?

Java 함수 제네릭의 상한과 하한은 무엇입니까? 사용하는 방법?

王林
王林원래의
2024-04-26 11:45:02643검색

Java 함수 제네릭을 사용하면 상한 및 하한을 설정할 수 있습니다. 상한(확장)은 함수에서 허용하거나 반환하는 데이터 유형이 f4284c1b81ca840b0b30b49340d6aa19와 같이 지정된 유형의 하위 유형이어야 함을 지정합니다. 하한(super)은 함수에 의해 허용되거나 반환되는 데이터 유형이 8991fee22ef165e6bc8a2922b920a06c와 같이 지정된 유형의 상위 유형이어야 함을 지정합니다. 제네릭을 사용하면 코드 재사용성과 보안이 향상됩니다.

Java 函数泛型的上限和下限是什么?如何使用?

Java 함수 제네릭의 상한 및 하한

함수 제네릭은 함수가 처리할 수 있는 데이터 유형을 컴파일 타임에 지정할 수 있는 강력한 메커니즘입니다. Java의 제네릭은 함수에서 허용하거나 반환하는 데이터 유형을 제한하기 위해 상한 및 하한을 선언할 수 있습니다.

상한

상한은 함수가 허용하거나 반환할 수 있는 데이터 유형이 지정된 유형의 하위 유형이어야 함을 지정합니다. 확장 키워드를 사용하여 지정됩니다. 예:

public <T extends Number> void printNumber(T number) {
   System.out.println(number);
}

이 함수는 Number 유형 또는 해당 하위 클래스(예: Integer, Double, Float)만 허용합니다.

하한(Lower Bound)

하한은 함수가 허용하거나 반환할 수 있는 데이터 유형이 지정된 유형의 상위 유형이어야 함을 지정합니다. super 키워드를 사용하여 지정됩니다. 예:

public <T super Number> void sumNumbers(List<T> numbers) {
   double sum = 0;
   for (T number : numbers) {
       sum += number.doubleValue();
   }
}

이 함수는 숫자 또는 Lista87fdacec66f0909fc0757c19f2d2b1d 또는 Listc0f559cc8d56b43654fcbe4aa9df7b4a와 같은 상위 유형 목록을 허용할 수 있습니다.

실용 사례

두 숫자를 비교하는 함수가 있다고 가정해 보겠습니다.

public static <T extends Comparable<T>> int compare(T obj1, T obj2) {
    return obj1.compareTo(obj2);
}

이 함수를 사용하여 Comparable 인터페이스를 구현하는 모든 유형을 비교할 수 있습니다. 예:

int result = compare(10, 20); // result 为 -1

메서드 사용

제네릭 사용 상한과 하한을 지정할 때 다음 사항에 유의하세요.

  • 상한은 함수가 처리할 수 있는 데이터 유형이 지정된 유형의 하위 유형이어야 함을 지정합니다.
  • 하한은 함수가 처리할 수 있는 데이터 유형이 지정된 유형의 상위 유형이어야 함을 지정합니다.
  • 상한과 하한을 모두 사용하여 함수에서 허용하거나 반환하는 데이터 유형을 추가로 제한할 수 있습니다.
  • 제네릭을 사용하면 코드 재사용성과 보안이 향상될 수 있습니다.

위 내용은 Java 함수 제네릭의 상한과 하한은 무엇입니까? 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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