== 연산에 대해, 기본 타입은 값이 같은지 확인하고, 참조 타입은 같은 객체인지를 확인한다.
예시
public class Main {
public static void main(String[] args) {
Student student1 = new Student(1, "김하나");
Student student2 = new Student(1, "김하나");
System.out.println(student1 == student2); // false
System.out.println(student1.getId() == student2.getId()); // true
}
}
Java에는 포인터가 없으며, 주소를 직접 조작하지 못한다.
자주 사용하는 자료구조를 정리해보자.
| 기능 | 사용 |
|---|---|
| 고정 길이 배열 | T[] |
| 추상 리스트 | List<T> |
| 동적 배열 | ArrayList<T> |
| 연결 리스트 | LinkedList<T> |
| 정렬 Map | TreeMap<K,V> |
| Hash Map | HashMap<K,V> |
| 정렬 Set | TreeSet<T> |
| Hash Set | HashSet<T> |
Java의 Map은 C#의 Dictionary와 같다.
주의할 점은, C#과 달리 Java의 Generic의 타입 파라미터에는 기본형을 사용할 수 없다는 것이다.
예를 들어, List<Integer>는 가능하지만 List<int>는 불가능하다.