The offsetByCodePoints() method of StringBuffer class returns the index within this String contained by StringBuffer that is offset from the index passed as parameter by codePointOffset code points. Unpaired surrogates lies between index and codePointOffset count as one code point each.
Syntax:
public int offsetByCodePoints(int index, int codePointOffset)
Parameters: This method takes two parameters:
- index: the index to be offset
- codePointOffset: the offset in code points
Return Value: This method returns the index within this sequence.
Exception: This method throws IndexOutOfBoundsException if any one below is true:
- index < 0 or index > length of the sequence.
- codePointOffset > 0 and the subsequence starting with index has fewer than codePointOffset code points
- codePointOffset < and the subsequence before index has fewer than the absolute value of codePointOffset code points.
Below programs demonstrate the offsetByCodePoints() method of StringBuffer Class:
Example 1:
// Java program to demonstrate // the offsetByCodePoints() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "WelcomeGeeks" ); // print string System.out.println( "String = " + str.toString()); // returns the index within this sequence int returnvalue = str.offsetByCodePoints( 1 , 4 ); // prints the index System.out.println( "Index = " + returnvalue); } } |
String = WelcomeGeeks Index = 5
Example 2:
// Java program to demonstrate // the offsetByCodePoints() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "India Is great" ); // print string System.out.println( "String = " + str.toString()); // returns the index within this sequence int returnvalue = str.offsetByCodePoints( 2 , 9 ); // prints the index System.out.println( "Index = " + returnvalue); } } |
String = India Is great Index = 11
Example 3: To demonstrate IndexOutOfBoundException
// Java program to demonstrate // Exception thrown by offsetByCodePoints() Method. class GFG { public static void main(String[] args) { // create a StringBuffer object // with a String pass as parameter StringBuffer str = new StringBuffer( "India" ); try { // returns the index within this sequence int returnvalue = str.offsetByCodePoints( 2 , 9 ); // prints the index System.out.println( "Index = " + returnvalue); } catch (IndexOutOfBoundsException e) { System.out.println( "Exception: " + e); } } } |
Exception: java.lang.IndexOutOfBoundsException
Reference:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#offsetByCodePoints(int, int)