java.lang.StringBuffer&StringBulider

概述:

本次笔记主要记录了StringBuilder和StringBuffer的接口,两种类拥有近乎相同的成员方法,主要区别在于StringBuffer是基于线程安全的,StringBuilder是非线程安全的,如果不涉及线程问题使用StringBuilder,可以获得更好的实现和空间优势;此外还记录了相关的父接口:java.lang.CharSequence和java.lang.Appendable


目录:

java.lang.CharSequence

java.lang.Appendable

java.lang.StringBuilder(非线程安全的)

java.lang.StringBuffer(线程安全的)


java.lang.CharSequence

申明:public interface CharSequence

已知子接口:Name

已知实现类:CharBuffer, Segment, String, StringBuffer,StringBuilder

接口作用描述:CharSequencechar值的可读序列。 该接口提供对许多不同类型的char序列的统一的只读访问。 A char值表示基本多语言平面(BMP)或代理中的字符。

接口方法:

char charAt(int index);//返回指定索引处得人char值
default IntStream char();//返回从这个蓄力中拓展char值的int流
default IntStream codePoints();//返回次序列的码流值
int length();//返回次字符序列的长度
CharSequence subSequence(int start, int end);//返回此字符序列的一个子序列
String toString();//按照字符序列中的顺序返回表示此序列的字符串

 


 

java.lang.Appendable

申明:public interface Appendable()

已知实现类:BufferedWriterCharArrayWriterCharBufferFileWriterFilterWriterLogStreamOutputStreamWriterPipedWriterPrintStreamPrintWriterStringBufferStringBuilderStringWriterWriter

接口方法:

Appendable append(char c);//将指定字符追加到此Appenable
Appendable append(CharSequence csq);//将指定字符序列追加到此Appendable
Appendable append(CharSequence csq, int start, int end);//将指定字符序列的子序列追加到此Appendable

 


 

java.lang.StringBuilder(非线程安全的)

申明:public final class StringBuilder extends Object implements Serializable, CharSequence

父类: Object

实现接口: Serializable, Appendable, CharSequence

构造方法: 

StringBuilder();//构造一个没有字符的字符串构建器,初始容量为16个字符
StringBuilder(int capacity);//构造一个没有字符的字符串构造器,初始容量由传入的参数指定
StringBuilder(CharSequence seq);//构造一个构造器,其中包含于传入的序列相同的字符
StringBuilder(String str);//创建一个由字符串指定内容的字符串构建器

成员方法:

StringBuilder append(boolean b);//将boolean参数的字符串表示附加到序列中
StringBuilder append(char c);
StringBuilder append(char[] str);
StringBuilder append(char[] str, int offset, int len);//将指定字符数组的子阵列的字符串表示追加到此序列
StringBuilder append(double d);
StringBuilder append(float f);
StringBuilder append(int i);
StringBuilder append(long lng);
StringBuilder append(CharSequence seq);
StringBuilder append(CharSequence seq, int start, int end);
StringBuilder append(Object obj);//在此处,个人理解,会事先调用传入对象的toString()方法,将返回的值追加
StringBuilder append(String str);
StringBuilder append(StringBuffer sb);
StringBuilder appendCodePoint(int codePoint);//将codePoint参数的字符串附加到此序列

StringBuilder insert(int offset, boolean b);//将传入的boolean的字符串表示插入到指定的位置中
StringBuilder insert(int offset, char c);
StringBuilder insert(int offset, char[] str);
StringBuilder insert(int index, char[] strr, int offset, int len);
StringBuilder insert(int offset, double d);
StringBuilder insert(int offset, float f);
StringBuilder insert(int offset, int i);
StringBuilder insert(int offset, long l);
StringBuilder insert(int desOffset, CharSequence s, int start, int end);
StringBuilder insert(int offset, Object obj);
StringBuilder insert(int offset, String str);

int indexOf(String str);//返回指定子字符串第一次出现在字符串中的位置索引
int indexOf(String str, int fromIndex);//从指定位置开始,子字符串自一次出现位置的索引
int lastIndexOf(String str);
int lastIndexOf(String str, ing fromIndex);

String subString(int start);//返回String,其中包含了从指定位置开始的子序列
String subString(int start, int end);
CharSequence subSequence(int start, int end);
String toString();//返回表示此序列中的数据的字符串
char charAt(int index);//返回指定索引处的此序列中的 char值。 

void setCharAt(ing index, char ch);//指定索引处的字符设置为 ch 。 

IntStream codePoints();//返回此序列的码流值
int codePointAt(int index);//返回指定索引处的字符(Unicode代码点)。
int codePointBefore(int index);返回指定索引之前的字符(Unicode代码点)。 
int codePointCount(int beginIndex, int endIndex);//返回此序列指定文本范围内的Unicode代码点数。 
int offsetByCodePoints(int index, int codePointOffset);//返回此序列中与 index由 codePointOffset代码点偏移的索引。 

int length();//返回长度(字符数)
void setLength(int newLength);//设置字符序列的长度
int capacity();//返回当前容量

void ensureCapacity(int minimumCapacity);//确保容量至少等于规定的最小值。 

void tirmToSize();//尝试减少用于字符序列的存储。 将没有真正存储字符的容量进行回收

StringBuilder reverse();//导致该字符序列被序列的相反代替。 

StringBuilder replace(int start, int end, String str);//用指定的 String的字符替换此序列的子字符串中的字符。 

StringBuilder delete(int start, int end);//删除此序列的子字符串中的字符。 
StringBuilder deleteCharAt(int index);//在此序列中的指定位置移除 char 。 

IntStream chars();//返回一个 int的数据流,从这个序列中扩展 char值。

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin);//字符从该序列复制到目标字符数组 dst 。

 


 

java.lang.StringBuffer(线程安全的)

申明:public final class StringBuffer extends Object implements Serializable, CharSequence

父类:Object

实现接口:Serializable, Appendable, CharSequence

构造方法:

StringBuffer();//构造一个没有字符的字符串缓冲区,初始容量为16字符
StringBuffer(int capacity);//构造一个没有字符但指定容量的字符缓冲区
StringBuffer(CharSequence seq);//构造一个包含指定CharSequence中内容的字符缓冲区
StringBuffer(String str);//构造一个初始换为指定字符串内容的字符缓冲区

成员方法:

StringBuffer append(boolean b);//将boolean参数的字符串表示附加到序列中
StringBuffer append(char c);
StringBuffer append(char[] str);
StringBuffer append(char[] str, int offset, int len);//将指定字符数组的子阵列的字符串表示追加到此序列
StringBuffer append(double d);
StringBuffer append(float f);
StringBuffer append(int i);
StringBuffer append(long lng);
StringBuffer append(CharSequence seq);
StringBuffer append(CharSequence seq, int start, int end);
StringBuffer append(Object obj);//在此处,个人理解,会事先调用传入对象的toString()方法,将返回的值追加
StringBuffer append(String str);
StringBuffer append(StringBuffer sb);
StringBuffer appendCodePoint(int codePoint);//将codePoint参数的字符串附加到此序列

StringBuffer insert(int offset, boolean b);//将传入的boolean的字符串表示插入到指定的位置中
StringBuffer insert(int offset, char c);
StringBuffer insert(int offset, char[] str);
StringBuffer insert(int index, char[] strr, int offset, int len);
StringBuffer insert(int offset, double d);
StringBuffer insert(int offset, float f);
StringBuffer insert(int offset, int i);
StringBuffer insert(int offset, long l);
StringBuffer insert(int desOffset, CharSequence s, int start, int end);
StringBuffer insert(int offset, Object obj);
StringBuffer insert(int offset, String str);

int indexOf(String str);//返回指定子字符串第一次出现在字符串中的位置索引
int indexOf(String str, int fromIndex);//从指定位置开始,子字符串自一次出现位置的索引
int lastIndexOf(String str);
int lastIndexOf(String str, ing fromIndex);

String subString(int start);//返回String,其中包含了从指定位置开始的子序列
String subString(int start, int end);
CharSequence subSequence(int start, int end);
String toString();//返回表示此序列中的数据的字符串
char charAt(int index);//返回指定索引处的此序列中的 char值。 

void setCharAt(ing index, char ch);//指定索引处的字符设置为 ch 。 

IntStream codePoints();//返回此序列的码流值
int codePointAt(int index);//返回指定索引处的字符(Unicode代码点)。
int codePointBefore(int index);返回指定索引之前的字符(Unicode代码点)。 
int codePointCount(int beginIndex, int endIndex);//返回此序列指定文本范围内的Unicode代码点数。 
int offsetByCodePoints(int index, int codePointOffset);//返回此序列中与 index由 codePointOffset代码点偏移的索引。 

int length();//返回长度(字符数)
void setLength(int newLength);//设置字符序列的长度
int capacity();//返回当前容量

void ensureCapacity(int minimumCapacity);//确保容量至少等于规定的最小值。 

void tirmToSize();//尝试减少用于字符序列的存储。 将没有真正存储字符的容量进行回收

StringBuffer reverse();//导致该字符序列被序列的相反代替。 

StringBuffer replace(int start, int end, String str);//用指定的 String的字符替换此序列的子字符串中的字符。 

StringBuffer delete(int start, int end);//删除此序列的子字符串中的字符。 
StringBuffer deleteCharAt(int index);//在此序列中的指定位置移除 char 。 

IntStream chars();//返回一个 int的数据流,从这个序列中扩展 char值。

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin);//字符从该序列复制到目标字符数组 dst 。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值