Java

Java

UnsupportedOperationException 완벽 정리 (자바 List.of, Arrays.asList 수정 오류 원인 + 해결 방법)

자바 컬렉션 쓰다가 갑자기 이런 에러가 나오면 꽤 당황한다.👉 UnsupportedOperationException 코드는 멀쩡해 보이는데,add나 remove 했다고 바로 터지는 경우가 많다.이거 원인만 정확히 알면, 실무에서 바로 해결 가능하다.UnsupportedOperationException 이란?👉 "지원하지 않는 동작을 수행하려고 할 때 발생하는 예외"즉,✔ 해당 객체가 그 기능을 원래부터 지원 안 하는데✔ 우리가 억지로 실행하려고 할 때 터진다가장 많이 터지는 상황 (핵심)👉 "수정 불가능한 컬렉션을 수정하려고 할 때"대표 예제 1 (List.of)import java.util.*;public class Main { public static void main(String[] ar..

Java

ConcurrentModificationException 완벽 정리

자바로 컬렉션(List, Set 등) 다루다 보면, 처음엔 잘 모르고 지나가다가 갑자기 만나게 되는 예외가 있다.👉 ConcurrentModificationException이건 처음 보면 “동시성 문제인가?” 싶지만,실제로는 반복 중에 컬렉션을 건드렸을 때 터지는 예외다.ConcurrentModificationException 이란?👉 "컬렉션을 반복(iteration)하는 도중에 구조를 변경하면 발생하는 예외"여기서 핵심은 이거다:✔ 반복 중✔ 구조 변경 (add, remove 등)이 두 개가 동시에 일어나면 터진다.가장 기본적인 예제import java.util.*;public class Main { public static void main(String[] args) { Lis..

Java

ClassCastException 왜 발생할까?

자바 하다 보면 어느 순간 이런 에러를 만나게 된다.👉 ClassCastException처음 보면 “캐스트? 타입 변환?” 이런 느낌이라 헷갈리는데,핵심만 딱 잡으면 생각보다 단순한 예외다.ClassCastException 이란?👉 "잘못된 타입으로 형변환(Casting) 했을 때 발생하는 예외"즉,서로 호환되지 않는 타입을 억지로 바꿀 때 터진다.가장 기본적인 예제public class Main { public static void main(String[] args) { Object obj = "hello"; Integer num = (Integer) obj; // ❌ 여기서 오류 }}왜 터질까?obj 실제 타입 → String우리가 바꾸려는 타입 → Intege..

Java

IndexOutOfBoundsException 완벽 정리 (초보자도 이해하는 자바 인덱스 오류 + 배열·리스트 코드 예제)

자바 개발하다 보면 배열이나 리스트 다루다가 한 번쯤은 꼭 터지는 예외가 있다.바로 IndexOutOfBoundsException 이다.이건 초보 때 진짜 많이 만나는 예외라서, 제대로 이해해두면 디버깅 속도가 확 올라간다.IndexOutOfBoundsException 이란?이름 그대로 해석하면 된다.👉 "인덱스 범위를 벗어났을 때 발생하는 예외"즉,배열 길이가 5인데 index 5를 접근했다리스트 크기가 3인데 index 10을 가져오려고 했다이럴 때 터진다.가장 기본적인 예제 (배열)public class Main { public static void main(String[] args) { int[] arr = {10, 20, 30}; System.out.println..

Coding_Slowly
'Java' 카테고리의 글 목록 (17 Page)