2011-06-05 199 views
13

比方說,我已經從遊標獲得一個字符串,像這樣:連接兩個字符串

String name = cursor.getString(numcol); 

和另一個字符串像這樣的:

String dest=cursor.getString(cursor.getColumnIndexOrThrow(db.KEY_DESTINATIE)); 

如果最後我想獲得的字符串他們兩個人的,是這樣的:

name - dest 

讓我們說,如果名稱=馬爾默和dest =哥本哈根

我怎麼能最終獲得馬爾默哥本哈根?

由於Android不會讓我寫:

name"-"dest 

回答

14

我眼中最好的方法是使用String類本身提供的concat()方法。

的使用率會,你的情況,如下圖所示:

String myConcatedString = cursor.getString(numcol).concat('-'). 
     concat(cursor.getString(cursor.getColumnIndexOrThrow(db.KEY_DESTINATIE))); 
41

您需要使用字符串連接運算符+

String both = name + "-" + dest; 
+0

或使用String類方法Concat()。例如,name.concat(「 - 」)。concat(dest) http://download.oracle.com/javase/6/docs/api/java/lang/String.html – Jasonw 2011-06-05 16:47:24

+6

@Jasonw - 調用'concat'兩次可能效率較低,因爲與編譯器翻譯Jon所建議的內聯表達式相比,它創建了一個額外的String對象。而且,Jon的解決方案更少打字。 :) – 2011-06-05 16:51:55

3

您可以使用連接運算符和替代聲明兩個變量只使用一個變量

String finalString = cursor.getString(numcol) + cursor.getString(cursor.getColumnIndexOrThrow(db.KEY_DESTINATIE)); 
+0

Btw「+」是連接運算符,並且如果您的其中一個值不是String,則需要將其轉換爲String。 – kaibuki 2011-06-05 16:46:17

+0

如果* both *值爲非字符串,則只需將其轉換爲字符串即可。 – 2011-06-05 16:53:42