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