본문 바로가기
JAVA

[JAVA] startsWith()/endsWith() - 특정 문자로 시작하거나 끝

by whitedeveloper 2023. 7. 14.

* startsWith()

: 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크하는 함수

: boolean에 맞춰 true/false 값을 리턴

public class StartsWithTest{
    public static void main(String[] args){
    
        String startsWithT = "자바 코딩 테스트 ";
        System.out.println( startsWithT.startsWith("자바") );  // true
        System.out.println( startsWithT.startsWith("자바 ") );// true
        System.out.println( startsWithT.startsWith("자") );// true
        System.out.println( startsWithT.startsWith(" 자") );// false

    }
}

! 공백도 취급하기 때문에 마지막은 false가 나옴

 

*endsWith()

: 대상 문자열이 특정 문자 또는 문자열로 끝나는지 체크하는 함수

: boolean에 맞춰 true/false 값을 리턴

 

public class EndsWithTest{
    public static void main(String[] args){

        String endsWithT = "자바 코딩 테스트 ";
        System.out.println( endsWithT.endsWith("테스트") );  // false
        System.out.println( endsWithT.endsWith("테스트 ") );// true
        System.out.println( endsWithT.endsWith("트 ") );// true
        System.out.println( endsWithT.endsWith(" 테") );// false

    }
}

! 공백도 취급하기 때문에 마지막 false

 

.contains()와 유사하지만 성능 차이 존재

: contains()는 전체  문자열에서 특정 문자열이 존재하는지 여부를 확인, 그렇기 때문에 전체 문자열을 순회하면서 일치여부 확인

: 문자열의 길이가 길어질수록 선형적으로 시간이 증가

 

:startsWith()/endsWith()는 주어진 문자열로 시작하는지/끝나는지 여부를 확인하기 때문에 시작과 끝만 비교하면 됨으로 문자열 길이와 무관하게 일정한 시간 소요

 

 

'JAVA' 카테고리의 다른 글

[JAVA]Scanner / BufferedReader 차이  (0) 2023.08.07
[Code]substring(), lastIndexOf()  (0) 2023.06.01
[JAVA]Optional  (0) 2023.01.12
JAVA - 컬렉션(Collection)과 제네릭(Generics)  (1) 2022.12.22
JAVA - 인터페이스와 추상클래스 비교  (0) 2022.12.20