StringBuffer codePointBefore() method in Java with Examples (original) (raw)

Last Updated : 04 Dec, 2018

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:

class GFG {

`` public static void main(String[] args)

`` {

`` StringBuffer

`` str

`` = new StringBuffer( "GeeksForGeeks Contribute" );

`` int unicode = str.codePointBefore( 14 );

`` System.out.println( "Unicode of character"

`` + " at position 13 = "

`` + unicode);

`` }

}

Output:

Unicode of character at position 13 = 32

**Example 2:**To demonstrate IndexOutOfBoundsException

class GFG {

`` public static void main(String[] args)

`` {

`` StringBuffer

`` str

`` = new StringBuffer( "GEEKSFORGEEKS" );

`` try {

`` int unicode = str.codePointBefore( 22 );

`` }

`` catch (Exception e) {

`` System.out.println( "Exception: " + e);

`` }

`` }

}

Output:

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)