2009-09-25 16 views
24

Come inserire una stringa racchiusa tra virgolette all'inizio di StringBuilder e String?Inserire una stringa all'inizio di un'altra stringa

Esempio:

StringBuilder _sb = new StringBuilder("Sam"); 

ho bisogno di inserire la stringa "Ciao" all'inizio di "Sam" e O/p è "Ciao Sam".

String _s = "Jam"; 

Ho bisogno di inserire la stringa "Ciao" all'inizio di "Jam" e O/p è "Ciao Jam".

Come raggiungere questo obiettivo?

+0

Non intendi, inserisci la stringa Jam fino alla fine di Hello? –

+0

No, Ciao all'inizio di Jam come _s essere inizializzato con Jam –

risposta

34

Il primo caso viene effettuata con il metodo insert():

_sb.insert(0, "Hello "); 

Quest'ultimo caso può essere fatto utilizzando l'operatore + sovraccarico ad Archi. Questo utilizza uno StringBuilder dietro le quinte:

String s2 = "Hello " + _s; 
+0

_s = "Hello" + _ s; aiuterà a risolvere il problema –

+0

@Sri: questo è effettivamente ciò che ha detto! Se la pensi diversamente, probabilmente manchi una proprietà fondamentale di Java Strings ... sono IMMUTABILI. –

+0

Opps! Quando ho postato il commento non ho visto la risposta modificata di unwind che porta alla confusione :) –

-9

E 'meglio se si trova tra virgolette utilizzando il metodo indexof() e quindi aggiungere una stringa dietro tale indice.

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

Che non funziona come "non fa parte della stringa. –

+0

La stringa non contiene' "' – gkmohit

6

A rigor di termini, non è possibile inserire una stringa in l'inizio di un altro. Le stringhe in Java sono immutabili.

quando si scrive:

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

in realtà si sta causando un nuovo oggetto String da creare che è la concatenazione di "Ciao" e "Jam". Non stai inserendo caratteri in alcun oggetto String esistente.

-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

Questo non risponde al post originale, utilizza Stringhe e StringBuilder, ma non "inserisce una stringa chiusa con virgolette all'inizio di StringBuilding ". – OYRM

Problemi correlati