자바 범 형 방법

일반적인 방법
범 형 방법 은 범 형 류 에서 도 정의 할 수 있 고 일반 류 에서 도 정의 할 수 있다.범 형 방법 을 정의 할 때 범 형 변 수 를 괄호 로 감 싸 고 범 형 변 수 를 방법 수정자 와 방법 반환 값 사이 에 두 십시오.
public class ArrayAlg{
    public static  T getMiddle(T... a){
        return a[a.length / 2];
    }
}

일반적인 방법 을 호출 할 때 방법 이름 앞 에 있 는 괄호 에 구체 적 인 유형 을 넣 고 유형 적 인 파 라 메 터 를 예화 합 니 다.
String middle = ArrayAlg.getMiddle("Hello","World","!");

대부분의 상황 에서 일반적인 방법 을 호출 하면 유형 적 인 파 라 메 터 를 생략 할 수 있 고 컴 파일 러 는 유형 적 인 파 라 메 터 를 어떻게 예화 하 는 지 추측 할 수 있 으 며 아래 의 코드 는 위의 코드 와 똑 같은 효 과 를 가진다.
String middle = ArrayAlg.getMiddle("Hello","World","!");

컴 파 일 러 는 입력 방법의 매개 변수 에 따라("Hello","World","!")String 실례 화 형식 인자 T 를 사용 해 야 할 것 으로 추 정 됩 니 다.
일부 특수 한 상황 에서 컴 파일 러 는 다음 코드 와 같은 유형 매개 변 수 를 어떻게 예화 하 는 지 추측 할 수 없다.
double middle = ArrayAlg.getMiddle(1.01,2.02,3);

이 코드 를 해석 하 는 데 는 두 가지 방법 이 있 고 두 가지 방법 은 모두 합 법 적 이다.쉽게 말 하면 컴 파일 러 는 자동 으로 1.01 과 2.02 를 Double 대상 으로 포장 하고 3 을 Integer 대상 으로 포장 합 니 다.Double 을 사용 하 는 지 Integer 의 실례 화 된 유형 인자 T 를 사용 하 는 지 확인 할 수 없 기 때문에 컴 파일 러 는 Double 과 Integer 의 공동 부 류 를 찾 으 려 고 시도 합 니 다.사실상 두 개의 공통 부류 인 Number 와 Comparable 인 터 페 이 스 를 찾 을 수 있 으 며,본 생 도 하나의 범 형 유형 이다.최종 적 으로 컴 파일 러 는 어떤 유형의 실례 화 된 유형 파 라미 터 를 사용 하 는 지 판단 할 수 없 기 때문에 오 류 를 보고 합 니 다.이러한 상황 에서 취 할 수 있 는 보완 조 치 를 취 할 때 모든 매개 변 수 를 double 값 으로 기록 합 니 다.

좋은 웹페이지 즐겨찾기