字符串缓冲区不打印'字符'

时间:2017-03-01 10:09:18

标签: java stringbuffer

我检查了下面的代码,发现它不是打印A123而是引用123。

有人可以解释这里发生了什么。

 public class Test{
    public static void main(String[] args) {
    StringBuffer sb = null;
    sb = new StringBuffer('A');
    sb.append('1');
    sb.append('2');
    sb.append('3');
    System.out.println(sb);//Printing 123
}

2 个答案:

答案 0 :(得分:4)

您正在呼叫constructor that specifys the capacity。试试这个

sb = new StringBuffer("A");

答案 1 :(得分:1)

您遇到了intchar次转化。

您正在调用构造函数StringBuffer(int capacity)

public StringBuffer(int capacity) {
        super(capacity);
    }

由于你传递了char,它转换为int值(ASCII值)并作为容量。