常用类
Object:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
StringBuffer:
StringBuffer提供了String类不支持的添加、插入、修改、删除之类的操作,String类是字符串常量,StringBuffer是字符串变量
线程安全的可变字符序列。一个类似于 String 的字符串缓冲区. 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。
每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。
StringBuffer提供了StringBuffer兼容的API,但不保证同步。该类被设计用作StringBuffer的一个简易替换,用在字符窜缓冲区被耽搁线程使用的时候。
String,StringBuffer.StringBilder三者最大的区别是:String是字符串常量。StringBuffer是字符串变量(线程安全),StringBuilder是字符串变量(非线程安全)
简单的说,String类型和StringBuffer类型的主要性能区别是String是不可变的对象,因此在每次对String类修改时,就等同于创建了一个新的String类对象,然后指针就指向新的String对象,所以经常修改String对象内容的时候最好不要用String类。
而StringBuffer和StringBuilder的用法几乎相同,只因StringBuilder是非线程安全的,所以要比StringBuffer稍快
Object:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
构造器:
Object():默认构造器,不带任何参数
方法摘要:
equals(Object obj) : 指示其他某个对象是否与此对象“相等”。hashCode():返回该对象的哈希码值。notify(): 唤醒在此对象监视器上等待的单个线程。notifyAll(): 唤醒在此对象监视器上等待的所有线程。toString():返回该对象的字符串表示wait() : 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
构造器:String类有许多构造器
String(char[] value) :分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。String(byte[] bytes, int offset, int length)参数:bytes - 要解码为字符的 byteoffset - 要解码的第一个 byte 的索引length - 要解码的 byte 数String(byte[] bytes, Charset charset) : 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。String(byte[] bytes, int offset, int length, String charsetName) : 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。String(StringBuffer buffer) : 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
String(StringBuilder builder) : 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。
方法摘要:
charAt(int index) :返回指定索引处的 char 值。compareTo(String anotherString) : 按字典顺序比较两个字符串。concat(String str) : 将指定字符串连接到此字符串的结尾。contains(CharSequence s) : 当且仅当此字符串包含指定的 char 值序列时,返回 true。endsWith(String suffix) : 测试此字符串是否以指定的后缀结束startsWith(String prefix)测试此字符串是否以指定的前缀开始。getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin): 将字符从此字符串复制到目标字符数组。
参数:
srcBegin - 字符串中要复制的第一个字符的索引。srcEnd - 字符串中要复制的最后一个字符之后的索引。dst - 目标数组。dstBegin - 目标数组中的起始偏移量。
indexOf(int ch, int fromIndex) : 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。indexOf(String str) : 返回指定子字符串在此字符串中第一次出现处的索引。indexOf(int ch) : 返回指定字符在此字符串中第一次出现处的索引lastIndexOf(int ch) :返回指定字符在此字符串中最后一次出现处的索引。length(): 返回此字符串的长度。replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
StringBuffer:
StringBuffer提供了String类不支持的添加、插入、修改、删除之类的操作,String类是字符串常量,StringBuffer是字符串变量
线程安全的可变字符序列。一个类似于 String 的字符串缓冲区. 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。
每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。
构造方法摘要
StringBuffer()构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。StringBuffer(CharSequence seq)public java.lang.StringBuilder(CharSequence seq) 构造一个字符 串缓冲区,它包含与指定的 CharSequence 相同的字符。StringBuffer(int capacity)构造一个不带字符,但具有指定初始容量的字符串缓冲区。StringBuffer(String str)构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。方法摘要
append(boolean b)将 boolean 参数的字符串表示形式追加到序列。append(char[] str)将 char 数组参数的字符串表示形式追加到此序列。append(char[] str, int offset, int len)将 char 数组参数的子数组的字符串表示形式追加到此序列
参数:
str - 要追加的字符。offset - 要追加的第一个 char 的索引。len - 要追加的 char 的数量。返回:此对象的一个引用。
append(Object obj) 追加 Object 参数的字符串表示形式。
append(String str) 将指定的字符串追加到此字符序列。
capacity() 返回当前容量。
delete(int start, int end) 移除此序列的子字符串中的字符。
deleteCharAt(int index) 移除此序列指定位置的 char。
indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
参数:
str - 要搜索的子字符串。fromIndex - 搜索开始处的索引。
返回: 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
lastIndexOf(String str, int fromIndex) 返回最后一次出现的指定子字符串在此字符串中的索引
StringBuilder:replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串中的字符substring(int start, int end) 返回一个新的 String,它包含此序列当前所包含的字符子序列。
StringBuffer提供了StringBuffer兼容的API,但不保证同步。该类被设计用作StringBuffer的一个简易替换,用在字符窜缓冲区被耽搁线程使用的时候。
构造方法摘要
StringBuilder() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。StringBuilder(CharSequence seq) public java.lang.StringBuilder(CharSequence seq) 构造一个字符 串缓冲区,它包含与指定的 CharSequence 相同的字符。StringBuilder(int capacity) 构造一个不带字符,但具有指定初始容量的字符串缓冲区。StringBuilder(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。方法摘要
append(boolean b) 将 boolean 参数的字符串表示形式追加到序列。append(char[] str) 将 char 数组参数的字符串表示形式追加到此序列。append(char[] str, int offset, int len) 将 char 数组参数的子数组的字符串表示形式追加到此序列
参数:
str - 要追加的字符。offset - 要追加的第一个 char 的索引。len - 要追加的 char 的数量。返回: 此对象的一个引用。
append(Object obj) 追加 Object 参数的字符串表示形式。append(String str) 将指定的字符串追加到此字符序列。capacity() 返回当前容量。delete(int start, int end) 移除此序列的子字符串中的字符。deleteCharAt(int index) 移除此序列指定位置的 char。indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
参数:
str - 要搜索的子字符串。fromIndex - 搜索开始处的索引。lastIndexOf(String str, int fromIndex)返回最后一次出现的指定子字符串在此字符串中的索引返回:从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。
String,StringBuffer,StreingBuilder的效率比较replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串中的字符substring(int start, int end) 返回一个新的 String,它包含此序列当前所包含的字符子序列。
String,StringBuffer.StringBilder三者最大的区别是:String是字符串常量。StringBuffer是字符串变量(线程安全),StringBuilder是字符串变量(非线程安全)
简单的说,String类型和StringBuffer类型的主要性能区别是String是不可变的对象,因此在每次对String类修改时,就等同于创建了一个新的String类对象,然后指针就指向新的String对象,所以经常修改String对象内容的时候最好不要用String类。
而StringBuffer和StringBuilder的用法几乎相同,只因StringBuilder是非线程安全的,所以要比StringBuffer稍快