문제 해결 (troubleshooting) 5

List.of()로 만든 리스트에서 add()가 안 되는 이유

문제 상황 (예시)List.of() 로 초기화 한 리스트에 값을 추가할 수 없는 문제List items = List.of("apple", "banana");items.add("cherry"); // 예외 발생 java.lang.UnsupportedOperationException문제 원인List.of(...)는 Java 9부터 제공되는 불변 리스트 (Immutable List) 를 생성하는 정적 팩토리 메서드이다.불변(immutable): 값을 추가하거나 제거할 수 없다.null 불허: List.of("a", null)처럼 null이 포함되면 NullPointerException 발생수정 불가: add(), remove(), set() 등 변경 연산은 모두 UnsupportedOperationExcept..

java: incompatible types: T cannot be converted to capture#1 of ?

문제 상황enum은 제네릭으로 만들 수 없음 enum Operator {}불가능private final Operate op 불가능하지만 op 는 값이 타입이 정해지지 않은, 알 수 없는 타입때문에 와일트 카드(?)를 사용했으나, T를 ?에 넣을 수 없음 → 타입 불일치if (a instanceof Integer) 조건문을 사용해도 해결되지 않음enum Operator { ADD('+', (a, b) -> a.doubleValue() + b.doubleValue()), ... private final Operate op; Operator(char symbol, Operate op){ this.symbol = symbol; this.op = op;..

반복문 안에서 InputMismatchException 예외 발생 시 무한 루프 발생

while문 안에서 Scanner 입력 오류로 안해 무한 루프가 발생했다... 기존 코드InputMismatchException 발생되면, catch (Exception e) 에서 잡힌다.하지만, 버퍼가 비워지지 않아 continue -> InputMismatchException -> continue -> ... 무한 굴레에 빠지게 되었다.while(true){ try { num1 = sc.nextInt(); // 문자열 입력 시 InputMismatchException 발생 ! num2 = sc.nextInt(); sc.nextLine(); // 버퍼 비우기 ... } catch (Exception e) { System.out.pr..

기존 node 삭제, nvm 설치

Next 프로젝트를 생성하고 실행하려는 찰나 이런 오류 메시지가 떴다.You are using Node.js 18.16.0. For Next.js, Node.js version "^18.18.0 || ^19.8.0 || >= 20.0.0" is required. 데스크탑으로 개발을 오래 안한탓인가 버전이 낮은가 보다. 이참에 원래버전은 삭제하고 NVM 을 설치해보기로 했다. 1. 기존 node 삭제 프로그램 추가/제거 에서 Node.js를 삭제하고C:\Program Files (x86)\NodejsC:\Program Files\NodejsC:\Users\User\AppData\Roaming\npmC:\Users\User\AppData\Roaming\npm-cache 해당 폴더들 전부 삭제 2. nv..