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

String buffer not printing 'Character'

我检查了以下代码,发现它不是打印 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
}

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

sb = new StringBuffer("A");

您遇到了 intchar 的转换。

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

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

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