목록JAVA/chapter22_generic (7)
WON.dev
Q1. Test01.java 문자/정수/실수 타입의 배열을 전달하고 데이터 타입을 체크하여 해당 데이터 타입과 해당 배열의 데이터들을 출력 class TypeCheckClass - 필드 : T[] arr 메소드 : String checkType(T[] arr), toString() Q2. Test02.java 정수/실수 타입의 배열을 전달하면 해당 배열에 저장된 모든 요소의 합을 리턴하는 sum() 메소드를 구현하시오. 예) int 5개 전달하면 5개의 합 출력 ★ - static double sum(T[] arr) 형식 작성 -> Number 형태의 데이터만 가능하다는 의미(int, long, float, double, byte, short) - 배열의 값을 가져올때 배열.doubleValue()사용 ..
package org.joonzis.ex; import java.util.Arrays; class Basket{// 음식만 담을 수 있는 바구니 private T[] foods; @SuppressWarnings("unchecked") public Basket(int length) { foods = (T[])(new Object[length]); } public void add(T food) {// setter for(int i=0; i
package org.joonzis.ex; import java.util.Arrays; class Container { private T[] items; @SuppressWarnings("unchecked")// 명확하지 않은 타입 체크이지만, 더 이상 경고 하지마라 public Container(int capacity) { items = (T[])(new Object[capacity]); } public void add(T item) {// setter // 순차적으로 순회하다가 빈자리가 발견되면 그 자리에 저장. // items 배열에 item 변수 저장 for(int i=0; i
package org.joonzis.ex; class Room { private T1 furniture1; private T2 furniture2; @Override public String toString() { StringBuffer sb = new StringBuffer(); sb.append("첫 번째 가구 : ").append(furniture1).append("\n"); sb.append("두 번째 가구 : ").append(furniture2); return sb.toString();// sb의 StringBuffer 타입을 String 타입으로 변환 } public void setFurniture1(T1 furniture1) { this.furniture1 = furniture1; } pu..
package org.joonzis.ex; import java.util.Arrays; public class Ex03_generic { // 제네릭 메소드 static void printArray(T[] arr) { System.out.println(Arrays.toString(arr)); } public static void main(String[] args) { Integer[] arr1 = {1,2,3,4,5}; printArray(arr1); Double[] arr2 = {1.5, 2.5, 3.5}; printArray(arr2); String[] arr3 = {"Hello", "java"}; printArray(arr3); } }
package org.joonzis.ex; class Bag {// : 자료형 ex) int 형을 넣고 싶으면 Integer를 사용해야 함 private T obj; public T getObj() { return obj; } public void setObj(T obj) { this.obj = obj; } } class Ball{} class Pen{} public class Ex02_generic { public static void main(String[] args) { //Bag bag = new Bag(); Bag bag = new Bag(); bag.setObj(new Ball()); Ball ball = bag.getObj();// 제네릭을 사용하면 캐스팅이 필요없다. System.out.p..
package org.joonzis.ex; class Box{ private Object obj; public Object getObj() { return obj; } public void setObj(Object obj) { this.obj = obj; } } class BallPen{} class Pencil{} public class Ex01_generic { public static void main(String[] args) { Box box = new Box(); box.setObj(new BallPen()); BallPen myPen = (BallPen)box.getObj();// 볼펜을 가져오려면 캐스팅 필요 System.out.println(myPen); box.setObj(new Pen..