三个处理字符串的类详解

java文档中

Package java.lang
提供对Java编程语言设计至关重要的类。

String
String类代表字符串。

StringBuffer
线程安全,可变的字符序列。

StringBuilder
一个可变的字符序列。

String

介绍

All Implemented Interfaces:
Serializable , CharSequence , Comparable < String >

在java中所有使用双引号“”创建的字符串, 都被实现为此类的实例。
它们的值在创建后不能被更改。 因为String对象是不可变的,它们可以被共享。(说白了,不是简单的放在堆内存中,更是放进了常量池)

但是,这个类狗的地方在哪里
从api文档中可以看到,这个类的所有构造器,都是分配一个新的String,同样是不可变的。
(说白了,就是“”的同内容同地址。new的同内容也不同地址

方法

构造方法

String()
初始化新创建的 String对象,使其表示空字符序列。

String(byte[] bytes)
通过使用平台的默认字符集解码指定的字节数组来构造新的 String 。

方法

char charAt(int index)
返回 char指定索引处的值。

String concat(String str)
将指定的字符串连接到该字符串的末尾。

boolean contains(CharSequence s)
当且仅当此字符串包含指定的char值序列时才返回true。

boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结尾。

boolean equals(Object anObject)
将此字符串与指定对象进行比较。
boolean equalsIgnoreCase(String anotherString)
将此 String与其他 String比较,忽略案例注意事项。

byte[] getBytes()
使用平台的默认字符集将此 String编码为字节序列,将结果存储到新的字节数组中。

char[] toCharArray()
将此字符串转换为新的字符数组。

int indexOf(char ch)
返回指定字符第一次出现的字符串内的索引。

int indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。

String[] split(String regex)
将此字符串分割为给定的 regular expression的匹配。

boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开头。

String substring(int beginIndex)
返回一个字符串,该字符串是此字符串的子字符串。
String substring(int beginIndex, int endIndex)
返回一个字符串,该字符串是此字符串的子字符串。

StringBuffer

介绍

public final class StringBuffer
extends Object
implements Serializable, CharSequence

线程安全,可变的字符序列。 字符串缓冲区就像一个String。
字符串缓冲区可以安全地被多个线程使用。 这些方法在必要时进行同步。

主要是append和insert方法,它们被重载以便接受任何类型的数据。将该字符串的字符附加或插入到字符串缓冲区。 append方法总是在缓冲区的末尾添加这些字符; insert方法将insert添加到指定点。

每个字符串缓冲区都有一个容量。 只要字符串缓冲区中包含的字符序列的长度不超过容量,就不必分配新的内部缓冲区数组。 如果内部缓冲区溢出,则会自动变大。

否则将null参数传递给null中的构造函数或方法将导致抛出NullPointerException 。

方法

构造方法

StringBuffer()
构造一个没有字符的字符串缓冲区,初始容量为16个字符。

StringBuffer(CharSequence seq)
构造一个包含与指定的相同字符序列的字符串缓冲区 CharSequence 。

StringBuffer(int capacity)
构造一个没有字符的字符串缓冲区和指定的初始容量。

StringBuffer(String str)
构造一个初始化为指定字符串内容的字符串缓冲区。

方法

StringBuffer append(boolean b)
将 boolean参数的字符串表示附加到序列中。

StringBuffer append(char c)
将 char参数的字符串表示附加到此序列。

StringBuffer append(char[] str)
将 char数组参数的字符串表示附加到此序列。

StringBuffer append(CharSequence s)
追加指定的 CharSequence到这个序列。

StringBuffer append(int i)
将 int参数的字符串表示附加到此序列。

StringBuffer append(String str)
将指定的字符串附加到此字符序列。

StringBuffer append(StringBuffer sb)
将指定 StringBuffer这个序列。

int capacity()
返回当前容量。

StringBuilder

All Implemented Interfaces:
Serializable , Appendable , CharSequence

public final class StringBuilder
extends Object
implements Serializable, CharSequence

一个可变的字符序列。 此类提供与StringBuffer的API,但不保证同步。

在可能的情况下,建议使用这个类别优先于StringBuffer ,因为它在大多数实现中将更快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值