일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Tree
- geometry
- Number Theory
- dynamic programming
- string
- Math
- 코테
- Method
- Counting
- Stack
- two pointers
- Matrix
- array
- sorting
- bit manipulation
- Class
- greedy
- database
- SQL
- Binary Search
- 파이썬
- Data Structure
- java
- Binary Tree
- hash table
- simulation
- implement
- 코딩테스트
- 구현
- 자바
- Today
- Total
목록generic (3)
코린이의 소소한 공부노트
[지네릭 타입의 형변환] 1. 지네릭 타입과 원시 타입 간의 형변환은 바람직하지 않다. Box box = null; Box objBox = null; Box strBox = null; box = (Box)objBox; // OK. 지네릭 -> 원시. 경고 발생 objBox = (Box)box; // OK. 원시 -> 지네릭. 경고 발생 box.add(new Integer(100)); // OK. box가 원시타입이기 때문에 경고만 발생함 2. 서로 다른 지네릭 타입으로는 형변환이 되지 않는다. objBox = (Box)strBox; // 에러. Box -X-> Box strBox = (Box)objBox; // 에러. Box -X-> Box 3. 와일드카드가 사용된 지네릭 타입으로는 형변환이 가능하다. ..
[와일드카드 ‘?’ 사용 이유] - 지네릭 타입을 이용한 선언문 작성 시 타입이 같아야 한다.. ArrayList list = new ArrayList(); // OK list = new ArrayList(); // 지네릭 타입이 달라서 에러 list = new ArrayList(); // 지네릭 타입이 달라서 에러 - 지네릭 타입에 와일드카드를 쓰면, 하나의 참조변수로 여러 타입의 객체를 참조할 수 있다. ArrayList - 제한 없음 - 모든 타입 가능 -
[Iterator] - 클래스를 작성할 때 Object타입 대신 T와 같은 타입 변수를 사용한다. // 일반 클래스// 지네릭 클래스 public interface Iterator{public interface Iterator{ boolean hasNext();boolean hasNext(); Object next();E next(); void remove();void remove(); }} // 생성 및 사용 Iterator it = list.iterator();Iterator it = list.iterator(); while(it.hasNext()){while(it.hasNext()){ Student s = (Student)it.next();Student s = it.next(); // 타입 불일치로..