The codePointBefore() method of StringBuffer class is a method used to take an index as a parameter and returns the “Unicode number” of the character present before that index. The value of index must lie between 0 to length-1.
If the char value at (index – 1) is in the low-surrogate range, char at (index – 2) is not negative with value is in the high-surrogate range, then the supplementary code point value of the surrogate pair is returned by method. If the char value at index – 1 is an unpaired low-surrogate or a high-surrogate, the surrogate value is returned.
Syntax:
public int codePointBefore(int index)
Parameters: This method take one parameter index which is the index of the character following the character whose unicode value to be returned.
Return Value: This method returns unicode number of the character before the given index.
Exception: This method throws IndexOutOfBoundsException when index is negative or greater than or equal to length().
Below programs illustrate the codePointBefore() method:
Example 1:
// Java program to demonstrate // the codePointBefore() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "GeeksForGeeks Contribute" ); // get unicode of char at index 13 // using codePointBefore() method int unicode = str.codePointBefore( 14 ); // print char and Unicode System.out.println( "Unicode of character" + " at position 13 = " + unicode); } } |
Unicode of character at position 13 = 32
Example 2:To demonstrate IndexOutOfBoundsException
// Java program to demonstrate // exception thrown by codePointBefore() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "GEEKSFORGEEKS" ); try { // get unicode of char at position 22 int unicode = str.codePointBefore( 22 ); } catch (Exception e) { System.out.println( "Exception: " + e); } } } |
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 22
References:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#codePointBefore(int)