2017-05-22 17 views
0

아래의 String :: substring 서명을 사용하는 매우 오래된 코드 (2005 년 이전)에서 버그 수정을해야합니다.Java 문자열 :: 과거의 부분 문자열 변경

public String substring(int beginIndex, int endIndex) 

이제 beginIndex부터 endIndex-1까지의 모든 문자가 포함됩니다. 과거에는 endIndex에도 문자가 포함되었을 가능성이 있습니까?

는 다음과 같은 코드에서

:

String str = line.substring(119, 120); 

과는 2 문자로 구성된 문자열과 비교됩니다. 누구든지 이에 관한 정보가 있습니까?

+2

Java2에서는 여전히 endIndex가 제외됩니다. https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#substring(int,%20int) –

+0

아니요 가능하다면 (자바 코드의 javadoc은 아직 공개되어있다.) –

+1

나는 이것이 코드를 작성한 개발자의 잘못이라고 가정해야 할 것이다. Java로 작업하는 사람들은 하위 호환성을 강력히지지하고 있으며, 이러한 변화를 보지 못합니다. 나는 끝 인덱스가 항상 독점적 인 것으로 알고있다. – Logan

답변

1

String#substring(int beginIndex, int endIndex) 메서드의 서명 또는 작동은 변경된 적이 없습니다.

저는 2003 년 이후로 Java에서 작업 해 왔으며 그것이 동일하다는 것을 알고 있습니다. 당신은 당신의 코드가 이러한 모든 년에서 실행이있는 자바의 버전을 확인하고 다시 자바 1.1의 모든 방법을 문서를 얻을 오라클의 아카이브에서 해당 문서를 확인할 수 있습니다

http://www.oracle.com/technetwork/java/archive-139210.html

가보세요. 이 도움이

String#substring


희망!