`
franktony
  • 浏览: 13365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

StringBuffer和StringBuilder的构造函数

 
阅读更多
StringBuffer sb = new StringBuffer('A');
sb.append('B');
System.out.println(sb);

输出是什么?

答案:B

为什么不是AB?
A到哪里去了?

你可能对StringBuffer(char)构造器并不熟悉,这很容易解释:它压根就不存在!!
StringBuffer有一个无参数的构造器,一个接受一个String作为字符串缓冲区初始内容的构造器,以及一个接受一个int作为缓冲区初始容量的构造器。

上面的代码,把'A'转成了65,然后调用StringBuffer(int),
初始化了一个容量为65的空的字符串缓冲区
分享到:
评论
2 楼 halk 2009-10-10  
public StringBuffer(String str)
构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。

参数:
str - 缓冲区的初始内容。
1 楼 halk 2009-10-10  
解释貌似不对..
在1.5的API中,StringBuffer有4个构造方法,其中:

public StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。 

参数:
str - 缓冲区的初始内容。

相关推荐

    String StringBuffer和StringBuilder区别之源码解析

    在String类的源码中,我们可以看到,它的所有方法都是final的,包括它的构造函数。这意味着,String类的字符串内容一旦被创建,就不能被修改了。 StringBuffer类 StringBuffer类是Java中另一种字符串类,它的字符...

    String ,StringBuffer与StringBuilder

    它只能通过构造函数来建立,但不能通过赋值符号对它进行赋值。例如,StringBuffer sb = new StringBuffer();不能写成 sb = "welcome to here!";。对象被建立以后,在内存中就会分配内存空间,并初始保存一个 null。...

    Java StringBuffer & StringBuilder.pdf

    要将 `String` 转换为 `StringBuilder` 或 `StringBuffer`,可以直接通过构造函数实现: ```java String str = "Hello"; StringBuilder sb = new StringBuilder(str); StringBuffer sbf = new StringBuffer(str); `...

    Android 中StringBuffer 和StringBuilder常用方法

    - 两者都可以通过构造函数指定初始容量,如`new StringBuffer(512)`或`new StringBuilder(512)`,这样可以减少后续扩容的次数,提高效率。 - 如果没有指定容量,它们会创建一个默认大小的缓冲区。 3. **常用方法*...

    java中stringBuilder的用法.pdf

    - StringBuilder类提供了多个构造函数,可以无参创建一个空的StringBuilder对象,也可以根据传入的初始字符串内容来初始化一个StringBuilder对象。例如:`StringBuilder sb = new StringBuilder("HelloWorld!");` ...

    StringBuffer类的总结

    1. **创建对象**:创建 `StringBuffer` 对象最简单的方式是通过构造函数。例如: ```java StringBuffer sb = new StringBuffer("初始化字符串"); ``` 此外,还可以通过其他构造函数来创建,比如: ```java ...

    String与StringBuffer区别详解

    - 查看`String`的源码,我们可以看到`String`的构造函数和`concat`方法都是通过创建新对象来完成字符串的连接。 - 对于`StringBuffer`,它的`append`方法内部直接修改了`char[]`数组,无需创建新的对象。 综上所...

    深入解析Java编程中的StringBuffer与StringBuider

    - 带参数构造函数:`StringBuffer(int capacity)` 允许指定初始缓冲区的大小,例如`new StringBuffer(512)`将创建一个初始容量为512的缓冲区。 2. **常用方法**: - `append()` 方法:将指定的内容追加到现有字符...

    String总概况及其特性并与StringBuffer的区别详解

    - 也可以通过构造函数的方式创建,如`String str = new String("abc");`。需要注意的是,这种方式会在堆中创建一个新的对象,即使该字符串已经存在于常量池中。 3. **字符串拼接** - 字符串拼接会导致新的`String...

    5_Java寒假作业.docx

    Java 的开发工具包、运行时环境、环境变量、Java 虚拟机、装箱和拆箱、equals 方法和==的区别、类和对象的区别、成员变量和静态变量的特点、子类的构造函数、this 和 super 的区别、接口和抽象类的区别、字符串字面...

    浅析我对 String、StringBuilder、StringBuffer 的理解

    此外,StringBuilder的构造函数默认分配的容量是16,而在需要时会自动扩展,而StringBuffer的行为类似,只是多了线程安全的考量。 4. **源码分析**: - String的源码显示,String对象的底层是final修饰的字符数组...

    Java面试必备、java宝典、java应届必备

    Java中的字符串主要由`String`和`StringBuffer/StringBuilder`类来处理。`String`类是不可变的,意味着一旦创建,它的值就不能改变。字符串字面值(如 "abc")都是`String`实例。创建字符串的方式有多种,如直接赋值...

    java的一些基础知识什么这类的

    * 可变性:StringBuffer 和 StringBuilder 可变,而 String 不可变。 * 线程安全性:String 不可变,因此是线程安全的;StringBuilder 不是线程安全的;StringBuffer 是线程安全的,内部使用 synchronized 进行同步...

    在java性能测试中经常遇到的问题

    在java性能测试中经常遇到的问题.在java性能测试中经常遇到很多的问题,Jason...  Number类和valueOf()  调用了低效的Number类构造函数,总是需要生成新的对象,大大降低性能。  有的valueOf()方法会缓存-128-127的

    2021Java最新面试题库.doc

    类的实例化顺序遵循以下规则:首先加载并初始化父类的静态成员(包括变量和静态初始化块),然后是子类的静态成员,接着是父类的非静态成员(实例变量)和父类构造函数,再是子类的非静态成员和子类构造函数。...

    Java重点面试题 – 针对java面试过程中经常遇到的一些试题进行总结.docx

    - 抽象类:不能实例化,可以有构造函数,可包含抽象方法和非抽象方法。子类继承抽象类时,必须实现所有抽象方法,除非子类也是抽象类。 - 接口:是一种特殊的抽象类,只能包含抽象方法和常量,不能有非抽象方法和...

    Java 22道基础面试题.docx

    8. 类的初始化顺序:类的初始化顺序是父类静态成员变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造函数、子类非静态变量、子类非静态代码块、子类构造函数。...

    三个类对比1

    从`String`到`StringBuffer`,可以使用`StringBuffer`的构造函数或`append()`方法。相反,从`StringBuffer`到`String`,可以调用`toString()`方法,这是所有Java类从`Object`类继承的,或者使用`String`类的构造函数...

    一些面试中出现率比较高的题

    2016,一些面试中出现率比较高的题,(来自蘑菇天堂) 基础: String类能被继承吗、为什么 ...类的实例化顺序、比如父类静态数据、构造函数、字段、子类静态数据、构造函数、字段、他们的执行顺序。。。。

Global site tag (gtag.js) - Google Analytics