Java String子序列

时间:2020-02-23 14:34:33  来源:igfitidea点击:

Java 1.4引入了CharSequence接口,而String实现了此接口。
这是在String类中实现subSequence()方法的唯一原因。
在内部,它调用substring()方法。

Java String子序列

下面的代码段来自String subSequence方法的实现。

public CharSequence subSequence(int beginIndex, int endIndex) {
  return this.substring(beginIndex, endIndex);
}

字符串subSequence方法返回一个字符序列,该字符序列是该序列的子序列。
调用这种形式为str.subSequence(begin,end)的方法的行为与调用str.substring(begin,end)的行为完全相同。

下面是一个简单的Java String subSequence方法示例。

StringSubsequence.java

package com.theitroad.examples;

public class StringSubsequence {

	/**
	 * This class shows usage of String subSequence method
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "www.theitroad.local";
		System.out.println("Last 4 char String: " + str.subSequence(str.length() - 4, str.length()));
		System.out.println("First 4 char String: " + str.subSequence(0, 4));
		System.out.println("website name: " + str.subSequence(4, 14));
		//substring vs subSequence
		System.out.println("substring == subSequence ? " + (str.substring(4, 14) == str.subSequence(4, 14)));
		System.out.println("substring equals subSequence ? " + (str.substring(4, 14).equals(str.subSequence(4, 14))));
	}

}

上面的String subSequence示例程序的输出为:

Last 4 char String: .com
First 4 char String: www.
website name: theitroad
substring == subSequence ? false
substring equals subSequence ? true

使用subSequence方法没有任何好处。
理想情况下,您应始终使用String子字符串方法。