2017-06-16 73 views
-1

我在嘗試將字符串解析爲char數組時遇到了問題。 這裏是我的代碼:將字符數組打印到Java控制檯

line = scan.nextLine(); 
System.out.println(line);    
char line2[] = line.toCharArray(); 
System.out.println(line2.toString()); 

所以,你可以看到,這是一個簡單的代碼。

問題是:行包含字符串「00000001010010110100100000100000」,但是當我使用「line.toCharArray」時,我的char數組收到「[C @ 7e243eed」。 我認爲它正在接收線路變量地址或類似的東西。

有人可以幫助我嗎? 感謝:d

+3

'的System.out.println(Arrays.toString(2號線));' –

+1

你也可以使用'的System.out.println(2號線) '(沒有明確的'toString()'調用)。這會調用重載['println(char [])'](https://docs.oracle.com/javase/8/docs/api/java/io/PrintStream.html#println-char:A-)版本'println'打印每個字符(不含'[,,]'數組格式)。 – Pshemo

+0

謝謝!我不知道我能做到這一點:D –

回答

3

Stringchar陣列轉換是好的,這是Sysout,打印陣列對象,而不是它的內容的hash。如果你想打印用戶友好的方式排列,使用:

System.out.println(Arrays.toString(line2)); 
+0

謝謝,隊友!我不知道。 在我的代碼中,還有另一個問題......我試圖用「String s = line2.toString()」創建一個新的字符串(正如我在打印內部所做的那樣),但是我應該使用「String s =新的字符串(line2)「。 謝謝! –