2010-10-19 8 views
11

Co oznacza "przesunięcie" w kontekście programowania?Co oznacza "przesunięcie" w kontekście programowania?

Czy to oznacza na początku, czy na odległość?

Co robi metoda String.offsetByCodePoints(int index, int codePointOffset)? Co oznacza "niepowiązany surogat" w dokumentacji metody?

+2

http://en.wikipedia.org/wiki/Offset_%28computer_science%29 do pierwszej części pytania –

+1

http: // pl .wikipedia.org/wiki/Mapping_of_Unicode_characters # Surogatki dla drugiej części twojego pytania – dsetton

+0

Dzięki, że jest teraz jasne – skystar7

Odpowiedz

2

Zgodnie z JavaDoc,

String.offsetByCodePoints(int index, int codePointOffset) 

Zwraca indeks w tym obiekcie że jest przesunięty z {@code index} przez {@code codePointOffset} punktów kodowych.

Oto przykład wykorzystania ...

int num = 0; 
num = "Test_String".offsetByCodePoints(0, 2); //num is 2 
num = "Test_String".offsetByCodePoints(3, 2); //num is 5 
num = "Test_String".offsetByCodePoints(9, 5); //Throws an exception since offset goes out-of-bounds 
+0

'num =" Test_String ".offsetByCodePoints (3, 2); // num to 6' drukuje 5 dla mnie –

+0

Przepraszamy, literówka "off by 1". Naprawiono teraz. –

+0

Dzięki temu jest teraz jasne – skystar7