【发布时间】:2015-06-07 12:48:10
【问题描述】:
我有
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};
和
System.out.println(autoDesignerArray + "Mustang");
输出:[C@c17164Mustang
System.out.println(autoDesignerArray);
输出:谢尔比的
我不明白为什么当我将 char 数组与字符串连接时会得到奇怪的输出。什么是“[C@c17164”?记忆中的位置?为什么当我与一个字符串连接时会得到它,但是当我单独打印它时却得到了我所期望的?
【问题讨论】:
-
System.out.println(autoDesignerArray + "Mustang");和System.out.println(autoDesignerArray);不是同一种方法。System.out.println提供处理char数组的重载
标签: java arrays string char concatenation