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
廣告