Java StringBuffer codePointBefore() Method



The Java StringBuffer codePointBefore() method is used to return a character (its Unicode code point) present in its preceding index of a StringBuffer. The index of a StringBuffer 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 StringBuffer 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

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 StringBuffer.

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

package com.tutorialspoint;

import java.lang.*;

public class StringBufferDemo {

   public static void main(String[] args) {

      StringBuffer buff = new StringBuffer("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 StringBuffer("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

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

import java.lang.*;

public class StringBufferDemo {

   public static void main(String[] args) {

      StringBuffer sb = new StringBuffer("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

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

import java.lang.*;

public class StringBufferDemo {

   public static void main(String[] args) {

      StringBuffer sb = new StringBuffer("@#$%^&*");
      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_stringbuffer.htm
Advertisements