Java StringBuilder codePointBefore() Method



The Java StringBuilder codePointBefore() method is used to return a character (its Unicode code point) present in its preceding index of a StringBuilder. The index of a StringBuilder ranges from 1 to length().

If the char value at (index - 1) is in the low-surrogate range, (index - 2) is not negative, with its char value in the high-surrogate range, then the supplementary code point value of the surrogate pair will be the result. And if the char value at index - 1 is an unpaired low-surrogate or a high-surrogate, the method results in a surrogate value. Otherwise, the ordinary char value is returned.

Syntax

Following is the syntax for Java StringBuilder codePointBefore() method

public int codePointBefore(int index)

Parameters

  • index − This is the index following the code point that should be returned.

Return Value

This method returns the Unicode code point value before the given index.

Example: Getting a codePoint before Preceding Index

If we pass any index of a lettered CharSequence input as the argument of the method, the return value is the code point of a character present in the preceding index of a StringBuilder.

The following example shows the usage of Java StringBuilder codePointBefore() method.

package com.tutorialspoint;

public class StringBuilderDemo {

   public static void main(String[] args) {

      StringBuilder buff = new StringBuilder("TUTORIALS");
      System.out.println("buffer = " + buff);

      // returns the codepoint before index 3
      int retval = buff.codePointBefore(3);
      System.out.println("Character(unicode point) = " + retval);

      buff = new StringBuilder("amrood admin ");
      System.out.println("buffer = " + buff);

      // returns the codepoint before index 6
      retval = buff.codePointBefore(6);
      System.out.println("Character(unicode point) = " + retval);
   } 
}

Output

Let us compile and run the above program, this will produce the following result −

buffer = TUTORIALS
Character(unicode point) = 84
buffer = amrood admin
Character(unicode point) = 100

Example: Getting a codePoint before Preceding Index in StringBuilder with Digits

Similarly, when we pass any index of a StringBuilder containing digits as the argument of the method, the return value is the code point of a digit character present before that index.

public class StringBuilderDemo {

   public static void main(String[] args) {

      StringBuilder sb = new StringBuilder("69813601");
      System.out.println("String Buffer = " + sb);

      int result = sb.codePointBefore(5);
      System.out.println("Character(unicode point) = " + result);
   } 
}

Output

If we compile and run the given program above, the output is achieved as follows −

String Buffer = 69813601
Character(unicode point) = 51

Example: Getting a codePoint before Preceding Index in StringBuilder with Symbols

The method also returns a valid Unicode point value when we pass an index of a StringBuilder containing symbols.

public class StringBuilderDemo {

   public static void main(String[] args) {

      StringBuilder sb = new StringBuilder("@#$%^&*");
      System.out.println("String Buffer = " + sb);

      int result = sb.codePointBefore(2);
      System.out.println("Character(unicode point) = " + result);
   } 
}

Output

If we compile and run the given program above, the output is achieved as follows −

String Buffer = @#$%^&*
Character(unicode point) = 35
java_lang_stringbuilder.htm
Advertisements