자바에서 기본적인 코딩과 클래스, 상속까지를 마치고 나면 그 다음 고개가 제너릭이다. 제너릭은 상속과 인터페이스를 이해하고 나서 그 다음에 다루어져야 하는 주제여서 기초 단계에서는 그것이 왜 필요한지를 이해하기가 어렵다. 여기서는 상속과 인터페이스를 충분히 공부한 것으로 가정하고 제너릭이 왜 필요한가를 설명해 보겠다. 자바 컴파일러(또는 편집기의 툴팁)는 다음 코드에 대해 아래와 같은 경고(warning) 메시지를 보여준다. ArrayList list = new ArrayList(); ArrayList is a raw type. References to generic type ArrayList should be parameterized 이 의미는 ArrayList를 쓰려면 ArrayList 처럼 타입을 ..
앞에서 equals 메소드의 오버라이딩으로 비교와 검색을 할 수 있음을 보았다. 그런데 두 객체에 대한 비교가 같다/같지않다로 할 수도 있지만 정렬을 하고 싶다면 크다, 같다, 작다의 세 가지 경우를 구분할 수 있어야 한다. C의 strcmp가 이러한 비교 함수의 원조다. strcmp는 두 char* 포인터를 받아서 앞의 것이 작으면 -1, 같으면 0, 크면 1을 돌려준다. 반환형은 int다. 자바에서 이런 비교를 해주는 메소드가 compareTo다. compareTo는 많은 라이브러리 클래스에 이미 구현되어 있는데, 대표적인 예로 역시 String 클래스를 살펴보자. String str1 = scan.next(); String max = str1; while (scan.hasNext()) { str1 ..
- Total
- Today
- Yesterday
- 이터러블
- 콜렉션
- 스트링 +
- 이터레이터
- python example
- typedef
- ToString
- 자바regex
- APPEND
- follow
- TypeError
- C++ 클래스
- indexof
- CompareTo
- contentEquals
- max
- python exercise
- Iterator
- 동적바인딩
- 지연계산
- format
- zip
- Lazy evaluation
- 스트링
- sort key
- 패턴
- Camel Style
- contains
- rust
- comparable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |