본문 바로가기

Java

프로그래밍은 참 어렵다.

기존에 double 형 변수로 처리하는 로직이 있었는데,

처음엔 별 생각 없이 값이 없는 경우 null이 아닌 9999999 같은 쓰레기값(?)을 줘서 사용했다.

실제 데이터는 저 범위까지 갈 일이 없었으므로...

근데 이게 명백히 따지면 잘못된 로직이지.

null이 아닌 쓰레기값이 들어가 있었으니..


그래서 double 형 변수에 어떻게 null을 할당할까 찾아보니 랩퍼 클래스를 사용하면 된다더군.


double a = null; //impossible

java.lang.Double a = null; //possible


https://stackoverflow.com/questions/11047276/null-for-primitive-data-types


생각해보면 처음 공부할때 다 배우는 내용들인데.. 이래서 기초가 중요하다 또 새삼 느낀다.


두번째로 Arrays.asList(a, b, c); 

요거를 사용해서 배열을 만들어주고 있었는데, 저렇게 만든 배열에 add 해서 다른 값이 추가가 안되는 것이 아닌가!


List<String> strList = Arrays.asList(a, b, c); 

strList.add("hello"); //impossible!!


https://bestalign.github.io/2015/08/31/top-10-mistakes-java-developers-make-1/


여기 보면 1번 항목에 나와있듯이,

List<String> strList = new ArrayList<String>(Arrays.asList(a, b, c));

strList.add("hello"); //possible!!


이유는 위 링크에 잘 나와있다.


참 이런거 보면.. 세상엔 개발 잘하는 사람이 참 많은듯...

나같은 범인은 어디로 가야 하는가...