java输出char+string出现的问题

java的System.out.println();

System.out.println(ch)调用的是System.out.println(char[])这个方法
System.out.println(“ch”+ch)调用的是System.out.println(String)这个方法

 /**
     * Prints an array of characters and then terminate the line.  This method
     * behaves as though it invokes <code>{@link #print(char[])}</code> and
     * then <code>{@link #println()}</code>.
     *
     * @param x  an array of chars to print.
     */
    public void println(char x[]) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }
/**
     * Prints a String and then terminate the line.  This method behaves as
     * though it invokes <code>{@link #print(String)}</code> and then
     * <code>{@link #println()}</code>.
     *
     * @param x  The <code>String</code> to be printed.
     */
    public void println(String x) {
        synchronized (this) {
            print(x);
            newLine();
        }
    }

然后加号相当于string的append()
字符串的拼接看源码是使用了StringBuilder的append(Object obj) 方法

而对于String.valueOf调用到了char数组的toString方法

对char[]使用tostring

猜你喜欢

转载自www.cnblogs.com/Emcikem/p/11788933.html