java charAt()方法和代理

时间:2014-03-01 05:22:11

标签: java stringbuffer

我正在编写java代码,想知道为什么这段代码的输出是x。我期待t,因为它是第5个字母。

public class StringBufferDemo{
    public static void main(String args[]){
        StringBuffer sb = new StringBuffer("ttsttxctlltnt");
        System.out.println(sb.charAt(5));
    }
}

3 个答案:

答案 0 :(得分:2)

这是因为在java中,一个StringBuffer对象从0开始被索引.1 st char在位置0,2 nd char在位置1,等等。 ..

String ------ "t t s t t x c t l l"
ArrayIndex --  0 1 2 3 4 5 6 7 8 9

答案 1 :(得分:1)

索引从0开始而不是1.因此在字符串“ttsttxctlltnt”中,将打印位置5(0,1,2,3,4,5)处的字符,即“x”。

答案 2 :(得分:1)

索引从0开始,所以第5个位置的字符是x ...如果你想要t作为输出,请尝试以下

 System.out.println(sb.charAt(4));