> Java > java지도 시간 > 본문

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

王林
풀어 주다: 2024-04-26 11:45:02
원래의
664명이 탐색했습니다.

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

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();
   }
}
로그인 후 복사

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

실용 사례

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!