I have
char c1 = 'S'; // S as a character
char c2 = '\u0068'; // h in Unicode
char c3 = 0x0065; // e in hexadecimal
char c4 = 0154; // l in octal
char c5 = (char) 131170; // b, casted (131170-131072=121)
char c6 = (char) 131193; // y, casted (131193-131072=121)
char c7 = '\''; // ' apostrophe special character
char c8 = 's'; // s as a character
char[] autoDesignerArray = {c1, c2, c3, c4, c5, c6, c7, c8};
And
System.out.println(autoDesignerArray + "Mustang");
输出结果:[C@c17164Mustang
System.out.println(autoDesignerArray);
输出: Shelby's
我不明白为什么在将字符数组与字符串连接时会得到奇怪的输出。"[C@c17164"是什么?它是内存中的位置吗?为什么在与字符串连接时我会得到这个东西,但当我单独打印时却得到我预期的结果?
System.out.println(autoDesignerArray + "Mustang");
和System.out.println(autoDesignerArray);
不是同一个方法。System.out.println
提供了一个重载方法来处理char
数组。 - ortis