언어 자료구조 알고리즘/디딤돌 Java 언어 Part1

[Java] 6.2.4 String 클래스 멤버 중에 판별에 사용하는 멤버 메서드

언제나휴일 2016. 11. 17. 01:54
반응형

출간일 2016년 11월 28일

판매가 2000원

형태 ebook


이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.



 6.2.4 String 클래스 멤버 중에 판별에 사용하는 멤버 메서드

 

 Java 언어의 String 클래스의 멤버 중에 판별에 자주 사용하는 메서드로 다음과 같습니다.

boolean contains(CharSequence cs)

boolean endsWith(String str)

boolean equals(Object obj)

boolean equalsIgnoreCase(String str)

boolean startsWith(String prefix)

 

 먼저 contains 메서드는 문자 시퀀스를 포함하는지 판별할 때 사용합니다.

boolean contains(CharSequence cs)

 

//문자 시퀀스를 포함하는지 판별하는

public class Program {

        public static void main(String[] args){

               String s1 = "Here is ehpub.co.kr!";

               CharSequence cs1 = "is";

               CharSequence cs2 = "are";

               System.out.println(s1.contains(cs1));

               System.out.println(s1.contains(cs2));

        }

}

true

false

[소스 6.7] 문자 시퀀스를 포함하는지 판별하는 예

 

 String 클래스에는 특정 문자열의 전위나 후위에 부분 문자열이 있는지 판별하는 메서드를 제공합니다.

boolean startsWith(String prefix)

boolean endsWith(String str)

 

 다음의 예는 특정 문자열의 전위나 후위에 부분 문자열이 있는지 확인하는 코드입니다.

 

//전위나 후위에 부분 문자열이 있는지 확인하는

public class Program {

        public static void main(String[] args){

               String str = "Here is ehpub.co.kr!";

               String ex1 = "Here";

               String ex2 = "kr!";

                             

               if(str.startsWith(ex1))

               {

                       System.out.println(ex1+"으로 시작");

               }

              

               if(str.startsWith(ex2))

               {

                       System.out.println(ex2+"으로 시작");

               }

              

               if(str.endsWith(ex1))

               {

                       System.out.println(ex1+"으로 끝남");

               }

              

               if(str.endsWith(ex2))

               {

                       System.out.println(ex2+"으로 끝남");

               }             

        }

}

Here으로 시작

kr!으로 끝남

[소스 6.8] 전위나 후위에 부분 문자열이 있는지 확인하는 예

 

 그리고 앞에서 문자열을 구성하는 내용인 문자 집합체가 같은지 판별할 때 equals 메서드를 사용한다고 하였습니다. 그런데 대소문자 여부를 따지지 않고 판별을 하고 싶을 때도 있습니다. 이럴 때는 equaIsIgnoreCase 메서드를 사용합니다.

boolean equals(Object obj)

boolean equalsIgnoreCase(String str)

 

 다음은 equals equalsIsIgnoreCase 메서드를 사용하는 예입니다.

 

//대소문자 구분 혹은 구분없이 문자열 비교

public class Program {

        public static void main(String[] args){

               String str1 = new String("I am a boy.");

               String str2 = new String("i am a Boy.");

              

               if(str1.equalsIgnoreCase(str2)){

                       if(str1.equals(str2)){

                              System.out.println("문자열 내용이 같습니다.");

                       }

                       else{

                              System.out.println("대소문자 차이만 있습니다.");                                                 

                       }

               }

               else{

                       System.out.println("서로 다릅니다.");

               }                            

        }

}

대소문자 차이만 있습니다.

[소스 6.9] 대소문자 구분 혹은 구분없이 문자열 비교

반응형