将两个字符串连接起来

19

假设我有一个从光标中获取的字符串,如下所示:

String name = cursor.getString(numcol);

还有另一个类似于这个的字符串:

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

如果我最终想从它们两个中获得一个字符串,类似于:

name - dest

假设有 name=Malmo 和 dest=Copenhagen

我该如何最终获得 Malmo-Copenhagen?

因为安卓系统不允许我写:

name"-"dest
3个回答

50

你需要使用字符串连接运算符+

String both = name + "-" + dest;

或者使用String类的concat()方法。例如,name.concat("-").concat(dest) http://download.oracle.com/javase/6/docs/api/java/lang/String.html - Jasonw
6
@Jasonw - 调用 concat 两次可能会效率较低,因为它比编译器将 Jon 建议的内联表达式转换时创建了额外的 String 对象。此外,Jon 的解决方案键入更少。 :) - Ted Hopp

15

在我看来,最好的方法是使用 String 类本身提供的 concat() 方法。

在你的情况下,使用方法如下:

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

3
您可以使用连接运算符,而不是声明两个变量,只需使用一个变量即可。
String finalString =  cursor.getString(numcol) + cursor.getString(cursor.getColumnIndexOrThrow(db.KEY_DESTINATIE));

2
顺便提一下,“+”是连接运算符,如果你的一个值不是字符串,则需要将其转换为字符串。 - Adil Bhatty
只有当两个值都不是字符串时,您才需要转换为字符串。 - Jon Skeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接