public
int codePointAt(int index)
Returns
the character (Unicode code point) at the specified index.
If
the char value specified at the given index is in the high-surrogate
range, the following index is less than the length of this String,
and the char value at the following index is in the low-surrogate
range, then the supplementary code point corresponding to this
surrogate pair is returned. Otherwise, the char value at the given
index is returned.
class StringCodePoint{ public static void main(String args[]){ String str = new String("Hello"); System.out.println("str = " + str); System.out.println("Codepoint at 0th position is " + str.codePointAt(0)); System.out.println("Codepoint at 1st position is " + str.codePointAt(1)); System.out.println("Codepoint at 2nd position is " + str.codePointAt(2)); System.out.println("Codepoint at 3rd position is " + str.codePointAt(3)); System.out.println("Codepoint at 4th position is " + str.codePointAt(4)); } }
Output
str = Hello Codepoint at 0th position is 72 Codepoint at 1st position is 101 Codepoint at 2nd position is 108 Codepoint at 3rd position is 108 Codepoint at 4th position is 111
Java
implements UTF-16 encoding scheme. So Any unicode outside 0xFFFF is
represented using surrogate scheme.
Example
class StringCodePoint1{ public static void main(String args[]){ int arr[] = {65536, 65537, 65538, 65539, 65540}; String s = new String(arr, 0, arr.length); System.out.println("String length is " + s.length()); for(int i =0; i < s.length(); i++){ System.out.print("Code point at index " + i +" is "); System.out.println(s.codePointAt(i)); } } }
Output
String length is 10 Code point at index 0 is 65536 Code point at index 1 is 56320 Code point at index 2 is 65537 Code point at index 3 is 56321 Code point at index 4 is 65538 Code point at index 5 is 56322 Code point at index 6 is 65539 Code point at index 7 is 56323 Code point at index 8 is 65540 Code point at index 9 is 56324
1. Throws
IndexOutOfBoundsException if the index is negative or not less
than the length of this string.
class StringCodePointIndexOut{ public static void main(String args[]){ String str = new String("Hello"); System.out.println("str = " + str); System.out.println("Codepoint at -1 position is " + str.codePointAt(-1)); } }
Output
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.codePointAt(String.java:675) at StringCodePointIndexOut.main(StringCodePointIndexOut.java:6)
Related
Links
No comments:
Post a Comment