코드를 구현하는 도중 문자열을 받아와서
각각의 Case에 맞게 처리를 해야할 일이 있었습니다.
Java 7 이상부터는 String 타입도
Switch문에서 사용이 가능하기에 사용했는데,
이상하게도 원하는 Case로 접근이 불가능한 문제가 발생하였습니다.
String 타입의 '삽잡이' 라는 문자열을
받아왔다고 가정해보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 | switch( str ) { case "삽잡이": break; case "shovelMan": //... break; default: //... break; } |
하지만, 정작 switch문은 default로 향하는 것 아니겠습니까...
답답했습니다.
혹시나해서 Java 버전까지 확인해봤습니다.
로그를 찍는데도
'삽잡이 '가 정확히 나오는데...
왜.. 왜...!!!
그런데, 자세하게 보니...
삽잡이라는 문자열 뒤에 미세하게 뭔가 미세하게...
뭐가 하나 더 있는 느낌!?
예 그렇습니다. '삽잡이' 라는 문자열 뒤에
공백이 하나 있었던 것이었습니다.
그래서... 그런거였습니다... 으아아아
아무튼... 이와 같은 삽질을 방지하고자
Java에서는 trim()이라는 메서드를 제공합니다.
trim() 메서드는 앞, 뒤 공백을 제거해줍니다.
String str = "삽잡이 ";
str = str.trim();
즐겁게 코딩합시다~
'삽질의 현장 > - Java' 카테고리의 다른 글
[삽잡이::java] switch문은 정수뿐만 아니라 문자열도 올 수 있다. (0) | 2016.08.23 |
---|---|
[삽잡이::java] 나만의 스타일로! 오버라이딩(Overriding) (0) | 2016.07.19 |
[삽잡이::java] 자식이 생성될 때 부모의 생성자를 부른다. (0) | 2016.07.07 |
[삽잡이::java] Java코드로 날짜를 랜덤하게 생성해보자! (0) | 2016.06.08 |
[삽잡이::java] 이름을 랜덤하게 생성해보자! 유니코드 랜덤 생성! (0) | 2016.06.08 |