2011-06-05 16 views
13

ı bir dize, bir imleç almış diyelim, bu şekilde:bitiştirmek iki dizeleri

String name = cursor.getString(numcol); 

ve benzeri başka dize bu bir: Ben bir dize elde istiyorum nihayet Eğer

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

ikisi bir şey gibi:

name - dest 

Let isim = Malmö ve dest = Kopenhag

eğer söylemek

Nihayet Malmo-Kopenhag'ı nasıl elde edebilirim ???

android yazmama izin vermez çünkü:

name"-"dest 

cevap

14

Gözlerimin en iyi yolu String sınıfının kendisi tarafından sağlanan concat() yöntemini kullanın.) (

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

Sen birleştirme operatörü kullanmak yerine iki değişken bildirerek yalnızca birini kullanabilirsiniz +

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

veya dize sınıf yöntemi concat kullanın:

kullanım hızı, senin durumunda, şu şekilde görünecektir. Örneğin, ad.concat ("-") concat (dest) http://download.oracle.com/javase/6/docs/api/java/lang/String.html – Jasonw

+6

@Jasonw - "concat" çağrısı Derleyicinin, Jon'un önerdiği satır içi ifadeyi nasıl çevirdiğine kıyasla, fazladan bir String nesnesi oluşturduğundan iki kat daha az verimli olur. Ayrıca, Jon'un çözümü daha az yazıyor. :) –

3

dize birleştirme operatöre kullanmak gerekir değişken

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

Btw "+", birleştirme işlecidir ve eğer değeriniz String değilse, onu String'e göndermeniz gerekir. – kaibuki

+0

Sadece bir dizgeye dönüştürmeniz gerekir, * her iki değer de dizgiler değilse. –