본문 바로가기
개발자 취준기/Error Collection

[Java]_java.lang.NullPointerException

by bbosioy 2023. 2. 10.

null : 아무것도 없는 텅빈 것

String str = null;

 

참조자료형의 기본값은 null이라서 쓴 건데...

 

꺼내올 게 없는데 꺼내오라고 하니까 오류 뜬 거 

 

java.lang.NullPointerException : Null쪽을 가리키고 있어서 생기는 에러 (텅 빈 곳 가리키고 있어서 오류 생긴 거야)

Cannot invoke "String.equals(Object)" because "str" is null

>>String Class 안에 있는 equals 라는 메소드를 부를 수가 없다. str 이 비어있어서

 

[해결 공식] '.' 앞에를 봐라. 걔가 null 일 확률이 90 %

 

> 195번이 문제

> str 안에 있는 equals 호출이 안 된 거니까, str 안ㅇ ㅔ들어가려고 했더니 안 된 거니까 

=> str이 null이라는 얘기

 

> str이 null이 안 되게끔 조치하면 된다

str = ""; 로 바꿔주기

 

-----------------

 

 

 

>> do~while 이랑 while 차이점 : 

조건을 먼저 만났느냐 안 만났느냐의 차이로 do~while은 null값을 넣어도 오류가 나지 않는다.

 

str 안에 사용자가 입력한 값이 먼저 들어가니까 더이상 null이 아니게 된다. 

그래서 while 조건을 나중에 만났을 때 str.equals~가 가능해졌다.