-
[17] GenericDevelpment/Java Sample Source 2020. 9. 13. 21:29
Generic Class
123456789101112131415package generic01;public class GenEx<T>{T value;public T getValue() {return value;}public void setValue(T value) {this.value = value;}}cs Generic 사용 예제
1234567891011121314151617181920212223242526272829package generic01;public class GenMain{public static void main(String[] args){GenEx<String> g = new GenEx<String>(); // new GenEx<"작성하지 않아도 되나, 버전에 따라 작성해야 하는 경우가 있다.">()g.setValue("Test");System.out.println(g.getValue());//GenEx<int> i = new GenEx<>(); 제네릭 타입은 기본자료형을 인식하지 못함.GenEx<Integer> i = new GenEx<>();i.setValue(100);System.out.println(i.getValue());GenEx<Character> c = new GenEx<>();c.setValue('a');System.out.println(c.getValue());GenEx<Double> d = new GenEx<>();d.setValue(3.14);System.out.println(d.getValue());}//main}cs Generic Class 2
123456789101112131415161718192021package generic02;public class Gen<T>{T value;public void printArr(T[] value){for(int i = 0; i < value.length; i++)System.out.print(value[i] + " ");System.out.println();}public <G> void printArr2(G[] value) // 매서드에서만 사용할 제네릭 타입을 설정 할수 있다.{for(int i = 0; i < value.length; i++)System.out.print(value[i] + " ");System.out.println();}}cs Generic 사용 예제 2
123456789101112131415161718192021222324252627282930package generic02;public class GenMain{public static void main(String[] args){Integer[] nArr = {1,2,3,4,5};Double[] dArr = {1.1, 2.2, 3.3, 4.4, 5.5};Character[] cArr = {'a','b', 'c', 'd', 'e'};Gen<Integer> gen = new Gen<>();gen.printArr(nArr);gen.printArr2(dArr);gen.printArr2(cArr);Gen<Double> gen1 = new Gen<>();gen1.printArr(dArr);Gen<Character> gen2 = new Gen<>();gen2.printArr(cArr);Gen<Object> gen0 = new Gen<>();gen0.printArr(nArr);gen0.printArr(dArr);gen0.printArr(cArr);} // main}cs 'Develpment > Java Sample Source' 카테고리의 다른 글
[18] Inner Class (0) 2020.09.13 [16] Class (0) 2020.09.13 [15] String (0) 2020.09.13 [14] arrary-multi (0) 2020.09.13 [13] Array-single (0) 2020.09.13