CharSequence 接口:用于表示可读的字符序列

CharSequence 是一个 Java 接口,用于表示可读的字符序列。它提供了对字符序列进行只读访问的统一方法。这个接口是许多重要的 Java 类的基础,例如 String、StringBuilder 和 StringBuffer 都实现了这个接口。

CharSequence 是一个 Java 接口,用于表示可读的字符序列。它提供了对字符序列进行只读访问的统一方法。这个接口是许多重要的 Java 类的基础,例如 String、StringBuilder 和 StringBuffer 都实现了这个接口。

通过使用 CharSequence 接口,可以编写更通用的代码,这些代码可以处理多种类型的字符序列,而不仅仅局限于 String 类型。这样可以提高代码的灵活性和复用性。

接口方法

CharSequence 接口中的方法:

length()

返回字符序列的长度。示例:

CharSequence charSeq = "Hello";
int length = charSeq.length();
System.out.println("Length of the character sequence: " + length);

charAt(int index)

返回指定索引位置的字符。索引范围是从 0 到 length() - 1。示例:

CharSequence charSeq = "World";
char c = charSeq.charAt(2);
System.out.println("Character at index 2: " + c);

subSequence(int start, int end)

返回一个新的CharSequence,它是原字符序列从start索引(包含)到end索引(不包含)之间的部分。示例:

CharSequence charSeq = "Java Programming";
CharSequence subSeq = charSeq.subSequence(5, 15);
System.out.println("Sub - sequence: " + subSeq);

实现了 CharSequence 接口的类

String 类

String 类是不可变的,一旦创建,其内容不能被改变。它是最常用的表示字符序列的类,并且由于实现了CharSequence 接口,可以在任何需要 CharSequence 的地方使用 String。

示例:

String str = "This is a string";

// 使用CharSequence接口的方法
int len = str.length();
char ch = str.charAt(3);
CharSequence sub = str.subSequence(5, 10);

System.out.println("Length: " + len);
System.out.println("Character at index 3: " + ch);
System.out.println("Sub - sequence: " + sub);

StringBuilder 类

StringBuilder 类是可变的字符序列。它提供了修改字符序列的方法,如 append()、insert() 和 delete() 等,并且实现了 CharSequence 接口。

示例:

StringBuilder sb = new StringBuilder("Initial content");

// 使用CharSequence接口的方法
int length = sb.length();
char character = sb.charAt(0);
CharSequence subSequence = sb.subSequence(0, 9);
System.out.println("Length of StringBuilder: " + length);
System.out.println("First character: " + character);
System.out.println("Sub - sequence: " + subSequence);

// 使用StringBuilder特有的方法
sb.append(" - appended text");
System.out.println("After append: " + sb);

StringBuffer 类

StringBuffer 类与 StringBuilder 类似,也是可变的字符序列,但它的方法是线程安全的。在多线程环境下,如果需要对字符序列进行修改操作,可以考虑使用 StringBuffer。它同样实现了 CharSequence 接口。

示例:

StringBuffer sbuf = new StringBuffer("Thread - safe text");

// 使用CharSequence接口的方法
int len = sbuf.length();
char ch = sbuf.charAt(0);
CharSequence sub = sbuf.subSequence(0, 10);
System.out.println("Length of StringBuffer: " + len);
System.out.println("First character: " + ch);
System.out.println("Sub - sequence: " + sub);

// StringBuffer特有的线程安全的操作
synchronized(sbuf) {
   sbuf.append(" - appended safely");
}
System.out.println("After append: " + sbuf);
我们一定要给自己提出这样的任务:第一,学习,第二是学习,第三还是学习。 —— 列宁
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号