Java StringBuffer codePointBefore() 方法



Java 的StringBuffer codePointBefore() 方法用于返回 StringBuffer 中其前面索引处存在的字符(其 Unicode 代码点)。StringBuffer 的索引范围从 1 到 length()。

如果 (index - 1) 处的 char 值在低代理范围内,(index - 2) 不为负,其 char 值在高代理范围内,则代理对的补充代码点值将是结果。如果 index - 1 处的 char 值是未配对的低代理或高代理,则该方法的结果为代理值。否则,返回普通的 char 值。

语法

以下是 Java StringBuffer codePointBefore() 方法的语法

public int codePointBefore(int index)

参数

  • index − 这是应该返回的代码点后面的索引。

返回值

此方法返回给定索引之前的 Unicode 代码点值。

示例:获取前一个索引之前的代码点

如果我们将字母 CharSequence 输入的任何索引作为方法的参数传递,则返回值是 StringBuffer 前一个索引中存在的字符的代码点。

以下示例显示了 Java StringBuffer codePointBefore() 方法的用法。

package com.tutorialspoint;

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);
   } 
}

输出

让我们编译并运行上述程序,这将产生以下结果:

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

示例:在包含数字的 StringBuffer 中获取前一个索引之前的代码点

类似地,当我们将包含数字的 StringBuffer 的任何索引作为方法的参数传递时,返回值是该索引之前存在的数字字符的代码点。

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);
   } 
}

输出

如果我们编译并运行上面给出的程序,则输出如下:

String Buffer = 69813601
Character(unicode point) = 51

示例:在包含符号的 StringBuffer 中获取前一个索引之前的代码点

当我们传递包含符号的 StringBuffer 的索引时,该方法也会返回有效的 Unicode 点值。

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);
   } 
}

输出

如果我们编译并运行上面给出的程序,则输出如下:

String Buffer = @#$%^&*
Character(unicode point) = 35
java_lang_stringbuffer.htm
广告