JAVA/Generic
제네릭 메소드와 배열
DesignatedRoom
2020. 10. 18. 21:09
배열도 인스턴스이므로 제네릭 매개변수에 전달이 가능하다.
하지만, 다음과 같은 문장을 쓸 수 없다.
아래와 같이 ShowArrayData함수의 매개변수로 배열 인스턴스를 선언하면,
매개변수에 전달되는 참조 값을 배열 인스턴스의 참조 값으로 제한할 수 있다.
그리고 이렇게 되면 참조 값은 배열 인스턴스의 참조 값임이 보장되므로 []연산을 허용한다.
아래와 같이 []연산이 필요하면 매개변수의 선언을 통해서 전달되는 참조 값을 배열의 참조 값으로 제한해야 한다.
예제
프로그램 실행결과
소스 코드
더보기
public class Exam1
{
public static void main(String[] args)
{
String[] stArr = new String[] {
"Hi",
"I am so happy",
"Java Generic Programming"
};
ShowArrayData(stArr);
}
public static<T> void ShowArrayData(T[] arr)
{
for (int i = 0; i < arr.length; i++)
System.out.println(arr[i]);
}
}