
- 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 - String subsequence() 方法
Java String subSequence() 方法用於檢索給定序列的子序列的新字元序列。
此方法的行為類似於 substring() 方法。唯一的區別在於它返回 CharSequence 而不是 String。在內部,subSequence() 方法呼叫 substring() 方法。返回的 CharSequence 可以顯式轉換為 String 物件。
子序列從提供的索引處開始,字元值為 start,並以索引 (end-1) 處的字元值為結束。返回的序列的長度(以字元為單位)為 end-start;如果 start 等於 end,則返回空序列。
語法
以下是Java String subSequence()方法的語法:
public CharSequence subSequence(int beginIndex, int endIndex)
引數
beginIndex - 這是起始索引的值,包含在內。
endIndex - 這是結束索引的值,不包含在內。
返回值
此方法返回指定的子序列。
使用給定索引從字串中獲取子序列示例
以下示例演示了 Java String subSequence() 方法的用法。在這裡,我們建立了一個值為“tutorialspoint”的字串,並嘗試檢索索引範圍“2-9”處的子字串:
package com.tutorialspoint; public class StringDemo { public static void main(String[] args) { String str = "Tutorials Point!"; System.out.println("string = " + str); // returns the specified subsequence from index 2 to 9 System.out.println("string subsequence = " + str.subSequence(2,9)); } }
輸出
如果編譯並執行上述程式,它將產生以下結果:
string = Tutorials Point! string subsequence = torials
使用負索引從字串中獲取子序列示例
以下是 subSequence() 方法的一個示例,其中傳遞的索引為負數。由於此方法不接受負值,因此將丟擲異常:
public class StringDemo { public static void main(String args[]) { String s = "Python Programming Language"; System.out.print("The returned string is: "); System.out.println(s.subSequence(-4, 2)); } }
異常
如果編譯並執行上述程式,則輸出將顯示如下:
The returned string is: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Range [-4, 2) out of bounds for length 27 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.outOfBoundsCheckFromToIndex(Preconditions.java:112) at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349) at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4589) at java.base/java.lang.String.substring(String.java:2703) at java.base/java.lang.String.subSequence(String.java:2741) at StringDemo.main(StringDemo.java:8)
使用超出範圍的索引從字串中獲取子序列示例
在以下示例中,提供的索引超出範圍或大於給定字串的長度。這會導致異常:
public class StringDemo { public static void main(String args[]) { String s = "Python Programming Language"; System.out.print("The returned string is: "); System.out.println(s.subSequence(15, 60)); } }
異常
執行上述程式後,獲得的輸出如下:
The returned string is: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Range [15, 60) out of bounds for length 27 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.outOfBoundsCheckFromToIndex(Preconditions.java:112) at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349) at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4589) at java.base/java.lang.String.substring(String.java:2703) at java.base/java.lang.String.subSequence(String.java:2741) at StringDemo.main(StringDemo.java:7)
從包含元字元的字串中獲取子序列示例
在以下示例中,我們正在建立一個包含元字元的字串。然後,我們嘗試檢索範圍“5-15”內的子字串:
package com.tutorialspoint; public class StringDemo { public static void main(String args[]) { String s = "$&!@$%&**&%$#@!#$(*%$#"; System.out.print("The returned string is: "); System.out.println(s.subSequence(5, 15)); } }
輸出
上述程式的輸出如下:
The returned string is: %&**&%$#@!
java_lang_string.htm
廣告