
- 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 StringBuilder charAt() 方法
Java 的StringBuilder charAt() 方法用於獲取此序列中指定索引處的字元值。由於 StringBuilder 與 String 相同(但可修改),因此其索引方式也類似。第一個字元值位於索引 0,下一個位於索引 1,以此類推,與 String/陣列索引相同。
注意 −
- 索引引數必須大於或等於 0,且小於此序列的長度。
- 如果索引指定的字元值是代理項,則返回代理項值。
語法
以下是 Java StringBuilder charAt() 方法的語法
public char charAt(int index)
引數
- index − 這是所需字元值的索引。
返回值
此方法返回指定索引處的字元值。
示例:獲取給定索引處的字元
當我們將索引作為引數傳遞給方法時,將返回該索引處的字元。
以下示例演示了 Java StringBuilder charAt() 方法的用法。在這裡,我們宣告一個 StringBuilder 物件並用一系列字元初始化它。該方法採用索引作為引數來查詢該索引處存在的字元。
package com.tutorialspoint; public class StringBuilderDemo { public static void main(String[] args) { StringBuilder buff = new StringBuilder("Tutorials Point"); System.out.println("buffer = " + buff); // returns the char at index 4 System.out.println("character = " + buff.charAt(4)); buff = new StringBuilder("amrood admin "); System.out.println("buffer = " + buff); // returns the char at index 6, whitespace gets printed here System.out.println("character = " + buff.charAt(6)); } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
buffer = Tutorials Point character = r buffer = amrood admin character =
示例:獲取給定索引處的字元
下面是另一個檢索索引處字元的示例。在這裡,我們執行算術加法,並將結果作為引數傳遞給方法。
public class StringBuilderCharAt { public static void main(String args[]) { StringBuilder sb = new StringBuilder("Tutorialspoint"); int id1 = 6; int id2 = 7; System.out.println("The character at " + (id1 + id2) + " index is: " + sb.charAt(id1 + id2)); } }
輸出
讓我們編譯並執行上面的程式,結果如下:
The character at 13 index is: t
示例:獲取負索引處的字元時遇到異常
但是,當我們將負索引作為引數傳遞給方法時,將丟擲 StringIndexOutOfBoundsException 異常。
public class StringBuilderCharAt { public static void main(String args[]) { // Creating a StringBuilder object and Initializing it StringBuilder sb = new StringBuilder("Tutorialspoint"); // declare and assign the index value to an int variable int id = -4; // print the output System.out.println("The character at " + id + " index is: " + sb.charAt(id)); //throws exception } }
異常
如果我們嘗試編譯並執行上面的程式,該方法將丟擲 StringIndexOutOfBoundsException 異常:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Index -4 out of bounds for length 14 at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55) at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.lang.String.checkIndex(String.java:4570) at java.base/java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:358) at java.base/java.lang.StringBuilder.charAt(StringBuilder.java:243) at StringBuilderCharAt.main(StringBuilderCharAt.java:10)
示例:使用無效索引獲取字元時遇到異常
在另一種情況下,如果我們傳遞的索引值大於輸入序列長度,該方法也會丟擲 StringIndexOutOfBoundsException 異常。
public class StringBuilderCharAt { public static void main(String args[]) { // Creating a StringBuilder object and Initializing it StringBuilder sb = new StringBuilder("Tutorialspoint"); // declare and assign the index value to an int variable int id = 15; // print the output System.out.println("The character at " + id + " index is: " + sb.charAt(id)); //throws exception } }
輸出
如果我們嘗試編譯並執行上面的程式,該方法將丟擲 StringIndexOutOfBoundsException 異常:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 14 at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55) at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.lang.String.checkIndex(String.java:4570) at java.base/java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:358) at java.base/java.lang.StringBuilder.charAt(StringBuilder.java:243) at StringBuilderCharAt.main(StringBuilderCharAt.java:13)
java_lang_stringbuilder.htm
廣告