Java StringBuilder codePointBefore() 方法



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

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

语法

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

public int codePointBefore(int index)

参数

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

返回值

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

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

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

以下示例演示了 Java StringBuilder codePointBefore() 方法的用法。

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

输出

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

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

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

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

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

输出

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

String Buffer = 69813601
Character(unicode point) = 51

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

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

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

输出

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

String Buffer = @#$%^&*
Character(unicode point) = 35
java_lang_stringbuilder.htm
广告
© . All rights reserved.