java 字符串 扩容 16_【实习笔记 -- JavaAPI】StringBuffer和StringBuilder的构造方法和扩容机制...

引言

StringBuffer和StringBuilder的构造方法各有四种构造方法,它们各自的构造方法总体原理上是一致的,细微之处有一个缓存区的置空操作。简单来讲可以把他们的构造方法理解成相同的。

构造方法无参构造/**

* Constructs a string buffer with no characters in it and an

* initial capacity of 16 characters.

*/

public StringBuffer() {

super(16);

}/**

* Constructs a string builder with no characters in it and an

* initial capacity of 16 characters.

*/

public StringBuilder() {

super(16);

}

StringBuffer和StringBuilder的无参构造方法继承的是AbstractStringBuilder抽象类中的AbstractStringBuilder(int capacity)方法。/**

* Creates an AbstractStringBuilder of the specified capacity.

*/

AbstractStringBuilder(int capacity) {

value = new char[capacity];

}

AbstractStringBuilder(int capacity)方法底层是一个默认容量为capacity=16的字符数组,由此可以知道StringBuffer和StringBuilder无参构造方法构造出的对象的初始容量为16,可以用capacity()方法查看。System.out.println(stringBuilder.capacity());

System.out.println(stringBuffer.capacity());有参构造① 自定义容量

构造一个容量自定义的StringBuffer或StringBuilder对象,传入int 类型的capacity自定义容量。/**

* Constructs a string buffer with no characters in it and

* the specified initial capacity.

*

* @param capacity the initial capacity.

* @exception NegativeArraySizeException if the {@code capacity}

* argument is less than {@code 0}.

*/

public St

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 类的核心类库是 Java SE APIJava Standard Edition Application Programming Interface),包括了许多常用的类和接口,如字符串String、集合类 Collection、IO 类、线程类等。 在 Java 中,字符串常量使用 String 类表示,字符串变量使用 StringBufferStringBuilder 类表示。String 类是不可变的,一旦创建后就不能被修改,每次对字符串的操作都会返回一个新的 String 对象。而 StringBufferStringBuilder 类都是可变的,可以直接在原字符串上进行修改,性能更高。 下面给出 StringStringBuffer 的一些常用方法: 1. String 类方法: ```java // 返回字符串长度 public int length() // 返回指定下标的字符 public char charAt(int index) // 返回子字符串 public String substring(int beginIndex) public String substring(int beginIndex, int endIndex) // 拼接字符串 public String concat(String str) public String join(CharSequence delimiter, CharSequence... elements) // 字符串比较 public int compareTo(String anotherString) // 判断是否包含指定字符或字符串 public boolean contains(CharSequence s) // 字符串替换 public String replace(char oldChar, char newChar) public String replace(CharSequence target, CharSequence replacement) ``` 2. StringBuffer 类方法: ```java // 返回字符串长度 public int length() // 返回指定下标的字符 public synchronized char charAt(int index) // 返回子字符串 public synchronized StringBuffer substring(int start) public synchronized StringBuffer substring(int start, int end) // 拼接字符串 public synchronized StringBuffer append(Object obj) public synchronized StringBuffer append(String str) public synchronized StringBuffer append(StringBuffer sb) // 反转字符串 public synchronized StringBuffer reverse() // 删除字符串 public synchronized StringBuffer delete(int start, int end) public synchronized StringBuffer deleteCharAt(int index) // 插入字符串 public synchronized StringBuffer insert(int offset, Object obj) public synchronized StringBuffer insert(int offset, String str) ``` 以上仅是部分方法,Java字符串类和字符串变量类还有很多其他方法,可以去查阅 API 文档进行学习和掌握。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值