삽질의 현장/- Java

[삽잡이::java] 공백따위 없애버려! trim()

shovelman 2016. 8. 23. 22:18


코드를 구현하는 도중 문자열을 받아와서

각각의 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();

 

즐겁게 코딩합시다~