
- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包擴充套件
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java - Character offsetByCodePoints() 方法
描述
Java 的 Character offsetByCodePoints() 方法用於在給定的 char 子陣列中檢索相對於給定索引由程式碼點偏移量偏移的索引。
子陣列在 char 陣列中指定,透過從某個起始索引開始計算字元。
文字範圍內的未配對代理應被視為每個程式碼點。
此方法以兩種多型形式出現,具有相同的返回型別但引數不同。
語法
以下是 Java Character offsetByCodePoints() 方法的語法
public static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) (or) public static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
引數
a − char 陣列
start − 子陣列第一個 char 的索引
count − 子陣列的 char 長度
index − 要偏移的索引
seq − 字元序列
codePointOffset − 程式碼點偏移量
返回值
此方法返回子陣列中的索引
獲取程式碼點偏移量示例
以下示例演示了 Java Character offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) 方法的使用。我們建立了一個 char 陣列並用 char 值初始化。使用 offsetByCodePoints() 方法,我們檢索了偏移量並列印了結果。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create a char array c and assign values char[] c = new char[] { 'a', 'b', 'c', 'd', 'e', 'f' }; // craete 2 int primitives start, count and assign values int start = 1; int count = 5; // create an int primitive res int res; // assign result of offsetByCodePoints on subarray of c to res res = Character.offsetByCodePoints(c, start, count, 2, 4); String str = "The index within the subarray of c is " + res; // print res value System.out.println( str ); } }
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
The index within the subarray of c is 6
獲取程式碼點偏移量示例
以下示例演示了 Java Character offsetByCodePoints(CharSequence seq, int index, int codePointOffset) 的使用。我們建立了一個 CharSequence 變數並用一個字串初始化。使用 offsetByCodePoints() 方法,我們檢索了偏移量並列印了結果。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create a CharSequence seq and assign value CharSequence seq = "Hello World"; // create an int primitive res int res; // assign result of offsetByCodePoints on seq to res res = Character.offsetByCodePoints(seq, 3, 8); String str = "The index within the char sequence seq is " + res; // print res value System.out.println( str ); } }
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
The index within the char sequence seq is 11
從數字 char 陣列獲取程式碼點偏移量示例
以下示例演示了 Java Character offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) 方法的使用。我們建立了一個 char 陣列並用 char 值初始化。使用 offsetByCodePoints() 方法,我們檢索了偏移量並列印了結果。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { char[] c = new char[] { '0', '1', '2', '3', '4', '5' }; int start = 1; int count = 3; int result = Character.offsetByCodePoints(c, start, count, 1, 2); System.out.println("The index within the subarray of c is " + result); } }
輸出
編譯並執行上述程式後的輸出如下所示:
The index within the subarray of c is 3
在從 char 陣列獲取程式碼點偏移量時遇到 IndexOutOfBoundsException 示例
在某些情況下,此方法也會丟擲異常。在此示例中,我們將看到方法丟擲 IndexOutOfBoundsException 的場景。
public class CharacterDemo { public static void main(String[] args) { char[] c = new char[] { '0', '5', '2', 'a', 'z', '/' }; int start = 0; int count = 3; int result = Character.offsetByCodePoints(c, start, count, 2, 4); System.out.println("The index within the subarray of c is " + result); } }
異常
編譯並執行以上程式後,獲得的輸出如下:
Exception in thread "main" java.lang.IndexOutOfBoundsException at java.lang.Character.offsetByCodePointsImpl(Character.java:5388) at java.lang.Character.offsetByCodePoints(Character.java:5372) at CharacterDemo.main(CharacterDemo.java:10)
在從 char 陣列獲取程式碼點偏移量時遇到 NullPointerException 示例
現在,讓我們看看方法丟擲 NullPointerException 的另一種場景。
public class CharacterDemo { public static void main(String[] args) { char[] c = new char[2]; c = null; int start = 0; int count = 0; int result = Character.offsetByCodePoints(c, start, count, 0, 0); System.out.println("The index within the subarray of c is " + result); } }
異常
編譯並執行以上程式,輸出將顯示為:
Exception in thread "main" java.lang.NullPointerExceptionat java.lang.Character.offsetByCodePoints(Character.java:5368)at CharacterDemo.main(CharacterDemo.java:11)