java中关于char[]数组输出问题 以及各种类型数组输出问题

参考:https://blog.csdn.net/z10z32/article/details/76906499

public class Struct {
    public static void main(String[] args) {

        //  converts String value to character array type value (把字符串值转化为字符串数组类型)
        String str = " Java was developed by James Gosling";
        char retval[] = str.toCharArray();

        // displays the converted value
        System.out.println(" "+retval);//(1)
        System.out.println(retval);//(2)

    }

}

输出是:

 [C@58ceff1
 Java was developed by James Gosling

分析,(1)“ ”+ch  把数组转化成了字符串String类型,;

(2)调用的方法的参数是char[]数组(字符数组)类型。

结论:

输出“ [C@58ceff1”的原因是:“ ”+ch  把数组转化成了字符串String类型的了。这是println方法的重载问题导致的。

附:java如何将各种类型的数组直接打印输出

https://blog.csdn.net/mxd446814583/article/details/79591672

如果要将int数组打印出来,可以使用Arrays.toString。 
下面有一个小例程:

package testArray;
 
import java.util.Arrays;
 
public class testArray {
    public static void main(String[] args) {
        int [] a = new int[5];
        int [] b = {1,45,65,345};
        String[] c = {"dewd","fwefew","fewf"};
        for(int i = 0; i < 5; i ++){
            a[i] = i;
        }
        System.out.println("数组A: " + Arrays.asList(a));
        System.out.println("数组B: " +Arrays.toString(b));
        System.out.println("字符串C: " +Arrays.toString(c));
        System.out.println("字符串C: " +Arrays.asList(c));
    }
}

输出结果:

数组A: [[I@28084850] 
数组B: [1, 45, 65, 345] 
字符串C: [dewd, fwefew, fewf] 
字符串C: [dewd, fwefew, fewf]

猜你喜欢

转载自blog.csdn.net/nsjlive/article/details/82532961
今日推荐