wrkbrs
[Java] trim(), isEmpty() 메소드 본문
test.java
public class test{
public static void main(String[] args) {
String em = " ";
System.out.println("em: " + "[" + em + "]");
System.out.println("em.trim(): " + "[" + em.trim() + "]");
System.out.println("em.trim()이 호출 됩니다.");
em.trim();
System.out.println("em.trim()이 호출 되었습니다.");
System.out.println("em.trim()후의 em 값: " + "[" + em + "]");
System.out.println();
System.out.println("em이 isEmpty()가 맞는지 확인합니다.");
if(em.isEmpty()) {
System.out.println("em: " + "[" + em + "]" + " em.isEmpty() is true");
}
else if( !em.isEmpty() ) { //isEmpty()의 반환값이 false인 경우, 이 조건문을 실행시키기 위해서 !논리부정 연산을 이용해서 true로 만들어라!
System.out.println("em: " + "[" + em + "]" + " em.isEmpty() is false");
}
System.out.println();
System.out.println("if 조건문에 em.trim().isEmpty() 로 호출을 합니다.");
if ( em.trim().isEmpty()) {
System.out.println("em: " + "[" + em + "]" + " em.trim().isEmpty() is true");
}
else {
System.out.println("em: " + "[" + em + "]" + " em.trim().isEmpty() is false");
}
System.out.println();
System.out.println("----------------------------------------------");
System.out.println();
String em2 = "";
String em3 = " ";
System.out.println("em2: " + "[" + em2 + "]");
System.out.println("em3: " + "[" + em3 + "]");
System.out.println();
if(em2.equals(null)) {
System.out.println("em2: " + "[" + em2 + "]" + " em2.equals(null) is true");
}
else {
System.out.println("em2: " + "[" + em2 + "]" + " em2.equals(null) is false");
}
if(em3.equals(null)) {
System.out.println("em3: " + "[" + em3 + "]" + " em3.equals(null) is true");
}
else {
System.out.println("em3: " + "[" + em3 + "]" + " em3.equals(null) is false");
}
if(em2.isEmpty()) {
System.out.println("em2: " + "[" + em2 + "]" + " em2.isEmpty() is true");
}
else {
System.out.println("em2: " + "[" + em2 + "]" + " em2.isEmpty() is false");
}
if(em3.isEmpty()) {
System.out.println("em3: " + "[" + em3 + "]" + " em3.isEmpty() is true");
}
else {
System.out.println("em3: " + "[" + em3 + "]" + " em3.isEmpty() is false");
}
System.out.println();
System.out.println("em3: " + "[" + em3 + "]");
System.out.println("em3.trim()이 호출 됩니다.");
em3.trim();
System.out.println("em3.trim()이 호출 되었습니다.");
System.out.println("em3.trim()후의 em 값: " + "[" + em3 + "]");
System.out.println();
if(em3.isEmpty()) {
System.out.println("em3: " + "[" + em3 + "]" + " em3.isEmpty() is true");
}
else if( !em3.isEmpty() ) {
System.out.println("em3: " + "[" + em3 + "]" + " em3.isEmpty() is false");
}
if ( em3.trim().isEmpty()) {
System.out.println("em3: " + "[" + em3 + "]" + " em3.trim().isEmpty() is true");
}
else {
System.out.println("em3: " + "[" + em3 + "]" + " em3.trim().isEmpty() is false");
}
}
}
결과:
em: [ ]
em.trim(): []
em.trim()이 호출 됩니다.
em.trim()이 호출 되었습니다.
em.trim()후의 em 값: [ ]
em이 isEmpty()가 맞는지 확인합니다.
em: [ ] em.isEmpty() is false
if 조건문에 em.trim().isEmpty() 로 호출을 합니다.
em: [ ] em.trim().isEmpty() is true
----------------------------------------------
em2: []
em3: [ ]
em2: [] em2.equals(null) is false
em3: [ ] em3.equals(null) is false
em2: [] em2.isEmpty() is true
em3: [ ] em3.isEmpty() is false
em3: [ ]
em3.trim()이 호출 됩니다.
em3.trim()이 호출 되었습니다.
em3.trim()후의 em 값: [ ]
em3: [ ] em3.isEmpty() is false
em3: [ ] em3.trim().isEmpty() is true
설명:
em.isEmpty(); 메소드는
em에 String 인스턴스가 존재하고 그것이 빈공간인 상태여야 true를 반환한다.
만약 " " 이처럼 빈 공간이 하나라도 들어가있다면 isEmpty()는 false이다.
그리고 em = ""; 이 자체는 이미 String 인스턴스를 생성했으므로
em.equals(null); 의 결과는 false 가 된다.
String space01 = "";
System.out.println(space01.equals(null))
결과: false
em.trim();
이 메소드 trim(); 를 실행하면
em의 공백만 없애준다.
그리고 em에 없애준 결과가 저장되지 em에 저장되지 않는다.
어떻게 보면 String 의 특성이 잘 나타난다고 볼 수 있다.
trim();을 하면 잘라낸 그 결과를 다시 return 해준다.
String space01 = " a b ";
String trim = space01.trim();
System.out.println("***" + trim + "***");
결과: ***a b***
'Java' 카테고리의 다른 글
[JAVA] new String() 시 초보들이 하기 쉬운 실수... (0) | 2018.11.14 |
---|---|
[JAVA] Java Character Set의 이해 (0) | 2018.11.14 |
[Java] 주석 추가, 제거 단축키 (0) | 2018.11.07 |
이클립스 프로젝트 추가 (0) | 2018.10.29 |
자바디자인패턴. 싱글톤 패턴(Singleton pattern)을 쓰는 이유와 문제점 (0) | 2018.10.26 |