나는 subSequence가 읽기 전용 인 charSequence를 반환한다는 것을 알고있다. 또, String 클래스는 CharSequence를 Implements합니다. subString은 String을 반환합니다. 서브와 서브 스트링, 그리고 어느 사이에 String.subString을 통해 String.subSequence 메서드를 사용하는 경우?
하지만은 API javadoc에서
3
A
답변
3
을 선호합니다 :
형태의 메소드 호출을
str.subSequence(begin, end)
동작합니다 정확히에서 호출과 같은 방법
str.substring(begin, end)
또한이 : String 클래스가 CharSequence 인터페이스를 구현 할 수 있도록
이 방법은 정의된다.
그래서, 당신이 아니라 당신은 항상 substring
을 사용할 수 있습니다 String
1
보다 유형 CharSequence
의 객체와 작업 할 때 subSequence
를 사용하는 것이 적절하다. javadoc은 두 개가 동일한 동작을한다고합니다. subSequence
이 CharSequence
을 반환하고 substring
이 String
을 반환하더라도 String
은 CharSequence
을 구현하므로 CharSequence
이 필요한 경우 항상 substring
을 사용할 수 있습니다.
javadoc에 따르면, CharSequence
에 정의 된 메소드를 구현하려면 반드시 subSequence
이 있어야합니다. 필요하기 때문에 거기에 있기 때문에 특히 그것을 사용해야하는 이유가 아니기 때문에, 나는 당신이 String
있다면 그것을 사용할 어떤 이유도 보이지 않습니다.
public String[] split(CharSequence input, int limit) {
...
String match = input.subSequence(index, m.start()).toString();
...
: 여기
1
은 문자열 입력 인수로서 전달되는 경우
String.subSequence
가 사용될
java.util.regex.Pattern.split
에서 니펫