在零開始我想用以下緊湊的方式建立一個String
:緊湊的方式來建立一個字符串使用+ =
String attributes = null;
for (Map.Entry<String, String> kvp : attrs.entrySet())
attributes += (kvp.getKey() + "='" + kvp.getValue() +"' ");
但結果是一個String內容如下:nullattr1='val1' attr2='val2' attr3='val3'
。我認爲這是由於在當前值爲空的String
上執行+=
操作而發生的。有沒有簡潔的方式來做到這一點,而不必檢查每次通過循環時attributes
是否爲空?
完全沒有必要。你認爲'valueOf'會爲一口井做什麼? – Voo 2012-04-24 22:07:07
如果您使用valueOf而不是顯式創建新的String對象,則類String可以重用對象。我個人是這樣做的,並且和它一起堆疊 - 不管是完全是想法還是必要的,它都是設計選擇的問題,並且喜歡這樣做。 – Bitmap 2012-04-24 22:14:06
常量字符串值已經實現 - 實際上它是JLS所要求的。因此,只有*一個*字符串'「」'並且使用valueOf不會改變這個事實。只要你不使用字符串構造函數,它不會有任何負面影響,但它仍然是完全不必要的:) – Voo 2012-04-24 22:26:57