CodeGym /Java Blog /무작위의 /Java String contains() 메소드
John Squirrels
레벨 41
San Francisco

Java String contains() 메소드

무작위의 그룹에 게시되었습니다
이 함수는 문자열이 다른 문자열을 '포함'하는지 여부를 확인하도록 특별히 설계되었습니다. 이 기능을 처음 사용하는 경우 '캐릭터'를 찾는 데 사용하게 될 수 있습니다. 그러나 그것은 목적을 달성하지 못할 것입니다. 이 기사에서는 java.lang.String.contains() 가 어떻게 사용, 구현되고 주의해서 사용하지 않을 경우 어떤 예외가 발생할 수 있는지에 대해 설명합니다 .

contains() 메서드는 무엇입니까?

특정 문자열 " key "가 특정 문자열 내에 존재하는지 여부를 " 찾기 " 위해 contains(String key) 메소드를 사용할 수 있습니다 . "key"가 발견되면 "true"가 리턴됩니다. 그렇지 않으면 "거짓"을 얻게 됩니다.Java String contains() 메서드 - 1

내부 구현

이 메서드는 java.lang.String 에 의해 이미 구현되어 있습니다 . 이를 직접 구현할 필요는 없습니다. 이해를 돕기 위한 간단한 설명입니다.

public class ContainsMethod 
{
    public boolean contains(CharSequence key) 
    {  
        return indexOf(key.toString()) > -1;  
    } 
} 

코드 설명

contains() 메소드는 CharSequence를 입력 매개변수로 사용합니다. 나중에 "문자열"로 변환됩니다. 그런 다음 이 표현식은 indexOf(key.toString()) > -1로 계산됩니다 . . 즉, 해당 "키"가 인덱스("0" 이상)에서 발견되면 "true"가 반환됩니다. 키를 찾을 수 없으면 "false"가 반환됩니다.

contains() 메서드를 사용하는 방법은 무엇입니까?

사용 방법은 다음과 같습니다.

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

	String input = "A brown fox jumped over a lazy dog.";

	// check the containing strings
	System.out.println("input.contains(bro) = " + input.contains("bro"));
	System.out.println("input.contains(brown) = " + input.contains("brown"));
	System.out.println("input.contains(Brown) = " + input.contains("Brown"));

	System.out.println("input.contains(fox) = " + input.contains("fox"));
	System.out.println("input.contains(xof) = " + input.contains("xof"));
		
	System.out.println("input.contains(dog) = " + input.contains("dog"));
	System.out.println("input.contains(lazyy) = " + input.contains("lazyy"));
	System.out.println("input.contains(jumping) = " + input.contains("jumping"));
    }
}
산출
input.contains(bro) = true input.contains(brown) = true input.contains(Brown) = false // 대소문자를 구분하기 때문에 false input.contains(fox) = true input.contains(xof) = false // false 순서가 같아야 하기 때문에 input.contains(dog) = true input.contains(lazyy) = false // 전체 하위 문자열을 찾을 수 없기 때문에 false input.contains(jumping) = false

코드 설명

이 방법은 입력 매개변수에 대해 대소문자를 구분합니다. 따라서 위의 스니펫에서 "갈색"을 검색하면 true 가 반환되고 "갈색"에 대해 false가 반환되는 것을 관찰할 수 있습니다. 또한 문자 순서가 동일해야 하므로 "fox"를 찾으면 true 를, "xof" 또는 "oxf"를 찾으면 false 를 얻게 됩니다 . 마지막으로 "jump" 또는 "jumped"를 찾으면 " input " 문자열 에 전체 매개변수가 있으므로 true 를 얻게 됩니다 . 반면에 "jumping"을 확인하면 전체 키("jumping")를 찾을 수 없기 때문에 false가 반환됩니다.

예외 처리

java.lang.String.contains() 메서드는 일부 구체적인 값으로 매개 변수 문자열을 초기화하는 것을 잊은 경우 Null Pointer Exception을 발생시킵니다.

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

      String input = "Here is a test string.";
      String test = null;

	// check what happens if you look for a null string 
	System.out.println("input.contains(test) = " + input.contains(test));
	}
}
산출

Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.contains(String.java:2133)
	at ContainsMethod.main(ContainsMethod.java:8)

결론

Contains() 메서드는 모든 문자 시퀀스 또는 문자열을 찾는 편리한 Java 유틸리티를 제공합니다. 이 게시물이 끝날 때까지 사용 및 구현에 익숙해지기를 바랍니다. 더 나은 이해를 위해 소매를 걷어붙이고 일을 시작하는 것이 좋습니다. 오류 없는 코드를 작성하려면 일관된 노력이 필요합니다. 그래서 그것을 얻자! 막히면 언제든지 여기로 돌아올 수 있습니다. 행복한 코딩. :)
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION