Java-Generics

광고

Integer 배열, String 배열의 요소를 정렬 할 수있는 단일 정렬 방법을 작성할 수 있다면 좋을 것입니다. , 또는 정렬을 지원하는 모든 유형의 배열.

Java Generic 메소드 및 일반 클래스를 사용하면 프로그래머가 단일 메소드 선언, 관련 메소드 세트 또는 단일 클래스 선언으로 세트를 지정할 수 있습니다. 각 관련 유형.

제네릭은 또한 프로그래머가 컴파일 타임에 유효하지 않은 유형을 포착 할 수있는 컴파일 타임 유형 안전성을 제공합니다.

Java Generic 개념을 사용하여 제네릭 메서드를 작성할 수 있습니다. 객체 배열을 정렬하려면 Integer 배열, Double 배열, String 배열 등으로 일반 메소드를 호출하여 배열 요소를 정렬합니다.

일반 메소드

다음과 같이 작성할 수 있습니다. ca 일 수있는 단일 제네릭 메서드 선언 다른 유형의 인수로 채워집니다. 제네릭 메서드에 전달 된 인수 유형에 따라 컴파일러는 각 메서드 호출을 적절하게 처리합니다. 다음은 일반 메소드를 정의하는 규칙입니다.

  • 모든 일반 메소드 선언에는 꺾쇠 괄호로 구분 된 유형 매개 변수 섹션이 있습니다 (< 및 >) 메서드의 반환 유형 앞에 오는 (다음 예에서는 < E > ).

  • 각 유형 매개 변수 섹션에는 쉼표로 구분 된 하나 이상의 유형 매개 변수가 포함됩니다. 유형 변수라고도하는 유형 매개 변수는 일반 유형 이름을 지정하는 식별자입니다. .

  • 유형 매개 변수를 사용하여 반환 유형을 선언하고 실제 유형 인수라고하는 제네릭 메서드에 전달 된 인수 유형에 대한 자리 표시 자 역할을 할 수 있습니다.

  • 일반 메소드의 본문은 다른 메소드와 마찬가지로 선언됩니다. 유형 매개 변수는 기본 유형 (예 : int, double 및 char)이 아닌 참조 유형 만 나타낼 수 있습니다.

다음 예제는 우리가 단일 Generic 메서드를 사용하여 다른 유형의 배열을 인쇄 할 수 있습니다. −

다음 결과를 생성합니다. −

출력

Array integerArray contains:1 2 3 4 5 Array doubleArray contains:1.1 2.2 3.3 4.4 Array characterArray contains:H E L L O

바운드 유형 매개 변수

유형 매개 변수에 전달 될 수있는 유형의 종류를 제한하려는 경우가있을 수 있습니다. 예를 들어 숫자에 대해 작동하는 메소드는 Number 또는 하위 클래스의 인스턴스 만 허용합니다. 이것이 경계 유형 매개 변수의 용도입니다.

경계 유형 매개 변수를 선언하려면 유형 매개 변수의 이름과 extends 키워드를 차례로 나열하고 그것의 상한.

다음 예는 “extends”(클래스에서와 같이) 또는 “implements”(인터페이스에서와 같이)를 의미하는 일반적인 의미에서 extends가 사용되는 방법을 보여줍니다. . 이 예제는 3 개의 Comparable 객체 중 가장 큰 것을 반환하는 Generic 메서드입니다.-

다음 결과를 생성합니다.-

출력

Max of 3, 4 and 5 is 5Max of 6.6,8.8 and 7.7 is 8.8Max of pear, apple and orange is pear

일반 클래스

일반 클래스 선언은 클래스 이름 뒤에 유형 매개 변수 섹션이 오는 것을 제외하고는 일반 클래스 선언과 유사합니다.

일반 클래스와 마찬가지로 메소드에서 일반 클래스의 유형 매개 변수 섹션은 쉼표로 구분 된 하나 이상의 유형 매개 변수를 가질 수 있습니다. 이러한 클래스는 하나 이상의 매개 변수를 허용하기 때문에 매개 변수화 된 클래스 또는 매개 변수화 된 유형으로 알려져 있습니다.

다음 예는 일반 클래스를 정의하는 방법을 보여줍니다.-

다음 결과가 생성됩니다.

출력

Integer Value :10String Value :Hello World
광고

Leave a Reply

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다