안녕하세요.
xml 을 파싱해서 값을 변경하고 저장하는 스크립트는 짜는중인데요,
각 tag의 attribute 값을 string으로 저장하는 과정에서 의문이 생겼습니다.
String width_old = tag.getAttribute(LAYOUT_WIDTH);
이런식으로 속성값을 읽어왔는데 문제는 tag에 따라서 저 속성이 없는경우가 있거든요 즉 그럴때는
width_old 가 null 이 되는 셈이죠.
해당 속성이 없어서 width_old 가 null 인상황에서 이상한 점을 발견했습니다.
null 검사를 할대
if( tag.getAttribute(LAYOUT_WIDTH) == null) System.out.println("Null입니다");
이렇게 하면 NULL 입니다가 찍힙니다.
그런데
if(width_old == null) System.out.println("Null입니다");
이렇게 하면 NULL입니다 가 안찍힙니다. 이상해서 width_old 를 찍어봤더니 역시나 그냥 화면에 아무글씨도 없습니다.
띄어쓰기도 아니고 그냥 빈칸입니다.
분명히 저 null check 이 전에 width_old = tag.getAttribute(LAYOUT_WIDTH);
를 했는데도 왜 tag.getAttribute(LAYOUT_WIDTH); 는 NULL 로 인식하면서 width_old 는 null로 인식을 안할까요?
혹시나 해서 if(width_old == "" ) 이걸로도 해봤는데 이것도 안탑니다.
아시는 분 설명 부탁드립니다.
좋은하루 되세요.