2014-01-24 2 views
8

매우 큰 문자열의 특정 위치에서 문자를 찾고 싶습니다. 그러나 범위가 int를 초과하므로 charAt() 메서드를 사용할 수 없습니다. 이것에 비틀 거림이 있습니까?긴 문자열을 사용하는 CharAt 메서드

+3

문자열의 길이가 20 억 자 이상입니까? – rgettman

+0

네 .. 위치에서 문자를 찾으려고합니다. '2298867968' – user2133404

+0

작은 문자열로 시작하여 –

답변

13

자바에서는 문자열에 문자 배열이 사용됩니다. 배열의 이론적 인 크기는 최대 값인 int에 의해 제한되므로 2 문자가 -1 자 이상인 문자열을 사용할 수 없습니다.

이 문제를 해결하려면 여러 배열이나 문자열을 저장소로 사용하는 문자열 클래스를 직접 만들면됩니다.

0

큰 문자열에서 짧은 하위 문자열을 가져 와서 해당 위치에 액세스하면 도움이됩니까?

+0

아니요, 사전 결정된 위치를 기반으로 동적으로 생성되는 문자열입니다. 위치 자체가 정수 범위를 벗어났습니다. – user2133404

+0

글쎄, 그 위치를 안다면, 처음 x 문자를 자르고 위치 빼기 x에 접근 할 수있다. – fedorSmirnov

0

문자열은 내부적으로 char 배열로 표시되므로 최대 길이는 int 크기보다 클 수 없습니다. 그래서 처음에는 int의 범위를 초과하는 String을 가질 수 없습니다.