wrkbrs

[Java] trim(), isEmpty() 메소드 본문

Java

[Java] trim(), isEmpty() 메소드

zcarc 2018. 11. 7. 23:50



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***