2011-06-05 26 views
13

Digamos que tiene una cadena obtenida de un cursor, de esta manera:concatenar dos cadenas

String name = cursor.getString(numcol); 

y otra cadena como éste:

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

Si, finalmente, quiero obtener una cadena de la dos de ellos, algo así como:

name - dest 

Digamos que si el nombre = Malmö y Copenhague

dest =

¿Cómo podría finalmente obtener Malmo-Copenhague?

Debido a que Android no me deja escribir:

name"-"dest 

Respuesta

14

La mejor manera en mis ojos es utilice el método concat() provisto por la clase String.

El Useage sería, en su caso, el siguiente aspecto:

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

Es necesario utilizar el operador de concatenación de cadenas +

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

o utilizar el método de clase String concat(). Por ejemplo, name.concat ("-"). Concat (dest) http://download.oracle.com/javase/6/docs/api/java/lang/String.html – Jasonw

+6

@Jasonw - Llamando a 'concat' dos veces es probable que sea menos eficiente, ya que crea un objeto String adicional en comparación con la forma en que el compilador traduce la expresión en línea que Jon sugirió. Además, la solución de Jon es menos tipada. :) –

3

Puede utilizar operador de concatenación y en lugar de declarar dos variables sólo se utilice una variable

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

Btw "+" es el operador de concatenación, y en caso de que si uno de los valores no es Cadena, entonces debe convertirlo a Cadena. – kaibuki

+0

Solo necesitaría convertir a una cadena si los valores * both * no son cadenas. –

Cuestiones relacionadas