我從這裏修改的Java:http://java-success.blogspot.com.au/2012/06/core-java-coding-questions-frequently.html並沿着這問題就來了:?爲什麼trim()在本例中沒有刪除尾隨的空格?
「Q1將是什麼下面的代碼片段的輸出
String s = " Hello ";
s += " World ";
s.trim();
System.out.println(s);
A1的輸出將是
" Hello World "
與前後的空格。有些人會期望一個修整的「Hello World」。
那麼,什麼概念呢這個問題試圖測試?
字符串對象是不可變的,並且在s.trim()行中有一個技巧。 瞭解對象的引用,並有資格進行垃圾回收不可達的對象。」
有人可以解釋爲什麼尾隨空格不會被刪除?
只是爲了幫助你將來,以下是我將如何回答問題,如果我不知道s.trim()不會修改字符串。在問題文本中,你被告知'字符串對象是不可變的,並且s.trim()行中有一個技巧。由於該行唯一的內容是's.trim();',我會查看它的功能。這裏是javadoc:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#trim()第一行告訴你'返回字符串的一個副本,省略後面的空格.'因爲返回值在這裏被忽略,所以你找到了你的答案。 –