자바로 프로그램을 만들다 보면 NullPointerException을 보게 되는 경우가 있다.
나도 그중 하나이다....
보통 예외같은 경우는 자바 공식 문서에 잘 설명되어있다.
5가지 경우가 있다.
Thrown when an application attempts to use null in a case where an object is required. These include:
- Calling the instance method of a null object.
- Accessing or modifying the field of a null object.
- Taking the length of null as if it were an array.
- Accessing or modifying the slots of null as if it were an array.
- Throwing null as if it were a Throwable value.
해석해보자면
1. 널객체의 메소드를 사용
2. 널객체에 접근/수정
3. 널이 배열인것 처럼 길이를 가지는 경우
4. 널이 배열인거 처럼 액세스하거나 수정
5. 널 값을 던질 수 있는 것처럼 행함
내가 오류가 났던 상황은 1번으로 추측한다.
String.equals(a)를 쓰는데 있어 String 자리에 null 값이 될 수 도 있다는 사실을 간과하였다.
이후 a.equals(String)으로 바꾸니 오류는 사라졌다.
NullpointerException을 피하기 위해서는 optional을 자주 사용하는 듯 보인다.
그러나 아직 optional을 자유자재로 쓰기에는 지식이 부족하다.
optional을 주말에 공부하도록 하자 .
'[JAVA]' 카테고리의 다른 글
Inheritance + @ (0) | 2023.01.21 |
---|---|
Abstraction + @ (추상화와 그 외의 중요한 것들) (0) | 2023.01.17 |
discord로 IntelliJ하는거 티내는 방법 (0) | 2022.12.21 |
java char to int (0) | 2022.12.21 |
JAVA EOF (scanner + buffered reader) (0) | 2022.11.02 |