2009-09-25 11 views
24

¿Cómo insertar una cadena entre comillas dobles al comienzo de StringBuilder y String?Insertar cadena al comienzo de otra cadena

Ej:

StringBuilder _sb = new StringBuilder("Sam"); 

necesito para insertar la cadena "Hola" al comienzo de "Sam" y O/P es "Hola Sam".

String _s = "Jam"; 

tengo que insertar la cadena "Hola" al comienzo de "Jam" y O/P es "Hola Jam".

¿Cómo lograr esto?

+0

¿No quieres decir, inserta la cuerda Jam al final de Hello? –

+0

No, Hola al comienzo de Jam como _s inicializado con Jam –

Respuesta

34

El primer caso se realiza utilizando el método insert():

_sb.insert(0, "Hello "); 

El último caso se puede hacer usando el sobrecargado + operador de cuerdas. Este utiliza un StringBuilder detrás de las escenas:

String s2 = "Hello " + _s; 
+0

_s = "Hola" + _ s; ayudará a resolver el problema –

+0

@Sri: ¡eso es efectivamente lo que dijo! Si piensas diferente, entonces probablemente te estás perdiendo una propiedad fundamental de Java Strings ... son INMUTABLES. –

+0

Opps! Cuando publiqué el comentario, no vi la respuesta editada de unwind que condujo a la confusión :) –

-9

Es mejor si usted se encuentra entre comillas utilizando el método indexof() y luego agrega una cadena detrás de ese índice.

string s="hai"; 
int s=s.indexof("""); 
+0

Eso no funcionará ya que "no es parte de la cadena. –

+0

La cadena no contiene' "' – gkmohit

6

Estrictamente hablando, no puede insertar una cadena al principio de otra. Las cadenas en Java son inmutables.

Cuando se escribe:

String s = "Jam"; 
s = "Hello " + s; 

en realidad se está causando un nuevo objeto String que se cree que es la concatenación de "Hola" y "Jam". No está insertando caracteres en un objeto String existente en absoluto.

-4
import java.lang.StringBuilder; 

public class Program { 
    public static void main(String[] args) { 

    // Create a new StringBuilder. 
    StringBuilder builder = new StringBuilder(); 

    // Loop and append values. 
    for (int i = 0; i < 5; i++) { 
     builder.append("abc "); 
    } 
    // Convert to string. 
    String result = builder.toString(); 

    // Print result. 
    System.out.println(result); 
    } 
} 
+0

Esto no responde a la publicación original, utiliza cadenas y StringBuilder, pero no "inserta una cadena adjunta con comillas dobles al comienzo de StringBuilding ". – OYRM

Cuestiones relacionadas