The codePointBefore() method of StringBuilder class takes an index as a parameter and returns the “Unicode number” of the character before the specified index in String contained by StringBuilder. The index refers to char values (Unicode code units) and 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 accepts one int type parameter index represents 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 demonstrate the codePointBefore() method of StringBuilder Class: Example 1:
// Java program to demonstrate // the codePointBefore() Method. class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder
str
= new StringBuilder("WelcomeGeeks");
// print string
System.out.println("String is "
+ str.toString());
// get unicode of char at index 1
// using codePointBefore() method
int unicode = str.codePointBefore( 2 );
// print char and Unicode
System.out.println("Unicode of character"
+ " at position 1 = " + unicode);
// get unicode of char at index 10
// using codePointBefore() method
unicode = str.codePointBefore( 11 );
// print char and Unicode
System.out.println("Unicode of character"
+ " at position 10 = "
+ unicode);
}
} |
String is WelcomeGeeks Unicode of character at position 1 = 101 Unicode of character at position 10 = 107
Example 2: To demonstrate IndexOutOfBoundsException
// Java program to demonstrate // exception thrown by codePointBefore() Method. class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder
str
= new StringBuilder("WelcomeGeeks");
try {
// get unicode of char at position length + 2
int unicode = str.codePointBefore(
str.length() + 2 );
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
} |
Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 14
Reference: https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#codePointBefore(int)