/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Kan man sætte 2 Strings sammen?
Fra : Christian Kristoffer~


Dato : 27-03-02 23:42

Hej Alle

Er det muligt i java2 at kunne sætte 2 Strings sammen ?
Hvordan gøres dette ?

Hilsen Christian



 
 
Martin Moller Peders~ (28-03-2002)
Kommentar
Fra : Martin Moller Peders~


Dato : 28-03-02 00:05

In <a7thm3$2ia4$1@news.cybercity.dk> "Christian Kristoffersen" <chrkrist@iname.com> writes:

>Hej Alle

>Er det muligt i java2 at kunne sætte 2 Strings sammen ?
>Hvordan gøres dette ?

Du bruger bare "+" f.x.

String s1="Davs";
String s2="du";
String s3;

s3=s1+" "+s2;





Dennis Thrysøe (28-03-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 28-03-02 13:10

Martin Moller Pedersen wrote:
> In <a7thm3$2ia4$1@news.cybercity.dk> "Christian Kristoffersen" <chrkrist@iname.com> writes:
>
>
>>Hej Alle
>
>
>>Er det muligt i java2 at kunne sætte 2 Strings sammen ?
>>Hvordan gøres dette ?
>
>
> Du bruger bare "+" f.x.
>
> String s1="Davs";
> String s2="du";
> String s3;
>
> s3=s1+" "+s2;


Og hvis det er flere Strings kan det betale sig at bruge StringBuffer:


StringBuffer sb = new StringBuffer();
for (int i=0; i<1000; i++)
sb.append("Linie " + (i+1) + "\n");
String s3 = sb.toString();


-dennis


Morten (28-03-2002)
Kommentar
Fra : Morten


Dato : 28-03-02 14:41

Dennis Thrysøe wrote:
> Martin Moller Pedersen wrote:
>
>> In <a7thm3$2ia4$1@news.cybercity.dk> "Christian Kristoffersen"
>> <chrkrist@iname.com> writes:
>>
>>
>>> Hej Alle
>>
>>
>>
>>> Er det muligt i java2 at kunne sætte 2 Strings sammen ?
>>> Hvordan gøres dette ?
>>
>>
>>
>> Du bruger bare "+" f.x.
>> String s1="Davs";
>> String s2="du";
>> String s3;
>>
>> s3=s1+" "+s2;
>
>
>
> Og hvis det er flere Strings kan det betale sig at bruge StringBuffer:
>
>
> StringBuffer sb = new StringBuffer();
> for (int i=0; i<1000; i++)
> sb.append("Linie " + (i+1) + "\n");
> String s3 = sb.toString();

Vil det så være billigere at lave

sb.append("linie ");
sb.append(i+1);
sb.append("\n");

?

Morten




Thorbjørn Ravn Ander~ (28-03-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 28-03-02 14:44

Morten <morten@kikobu.com> writes:

> Vil det så være billigere at lave
>
> sb.append("linie ");
> sb.append(i+1);
> sb.append("\n");

Prøv at kigge lidt på dokumentationen til java.lang.String. Der står
hvordan "+" er implementeret vha StringBuffer.

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

Morten (28-03-2002)
Kommentar
Fra : Morten


Dato : 28-03-02 14:57

Thorbjørn Ravn Andersen wrote:
> Morten <morten@kikobu.com> writes:
>
>
>>Vil det så være billigere at lave
>>
>>sb.append("linie ");
>>sb.append(i+1);
>>sb.append("\n");
>
>
> Prøv at kigge lidt på dokumentationen til java.lang.String. Der står
> hvordan "+" er implementeret vha StringBuffer.
>

Mmmkay.. Fra API'erne:

<java.lang.String>
The Java language provides special support for the string concatentation
operator ( + ), and for conversion of other objects to strings. String
concatenation is implemented through the StringBuffer class and its
append method.
</java.lang.String>

<java.lang.StringBuffer>
String buffers are used by the compiler to implement the binary string
concatenation operator +. For example, the code:

x = "a" + 4 + "c"


is compiled to the equivalent of:

x = new StringBuffer().append("a").append(4).append("c")
.toString()


which creates a new string buffer (initially empty), appends the string
representation of each operand to the string buffer in turn, and then
converts the contents of the string buffer to a string. Overall, this
voids creating many temporary strings.
</java.lang.StringBuffer>

Hvad giver det af overhead at instantiere en StringBuffer?

Mvh Morten


Dennis Thrysøe (28-03-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 28-03-02 15:25

Morten wrote:
> Thorbjørn Ravn Andersen wrote:
>
>> Morten <morten@kikobu.com> writes:
>>
>>
>>> Vil det så være billigere at lave
>>>
>>> sb.append("linie ");
>>> sb.append(i+1);
>>> sb.append("\n");
>>
>>
>>
>> Prøv at kigge lidt på dokumentationen til java.lang.String. Der står
>> hvordan "+" er implementeret vha StringBuffer.
>>
>
> Mmmkay.. Fra API'erne:
>
> <java.lang.String>
> The Java language provides special support for the string concatentation
> operator ( + ), and for conversion of other objects to strings. String
> concatenation is implemented through the StringBuffer class and its
> append method.
> </java.lang.String>
>
> <java.lang.StringBuffer>
> String buffers are used by the compiler to implement the binary string
> concatenation operator +. For example, the code:
>
> x = "a" + 4 + "c"
>
>
> is compiled to the equivalent of:
>
> x = new StringBuffer().append("a").append(4).append("c")
> .toString()
>
>
> which creates a new string buffer (initially empty), appends the string
> representation of each operand to the string buffer in turn, and then
> converts the contents of the string buffer to a string. Overall, this
> voids creating many temporary strings.
> </java.lang.StringBuffer>
>
> Hvad giver det af overhead at instantiere en StringBuffer?

Meget, hvis man gør det ofte nok. F.eks. vil SQL statements og den
slags, som laves ofte, have gavn af at bruge StringBuffer.

-dennis


Dennis Thrysøe (28-03-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 28-03-02 15:22



Morten wrote:
> Dennis Thrysøe wrote:
>
>> Martin Moller Pedersen wrote:
>>
>>> In <a7thm3$2ia4$1@news.cybercity.dk> "Christian Kristoffersen"
>>> <chrkrist@iname.com> writes:
>>>
>>>
>>>> Hej Alle
>>>
>>>
>>>
>>>
>>>> Er det muligt i java2 at kunne sætte 2 Strings sammen ?
>>>> Hvordan gøres dette ?
>>>
>>>
>>>
>>>
>>> Du bruger bare "+" f.x.
>>> String s1="Davs";
>>> String s2="du";
>>> String s3;
>>>
>>> s3=s1+" "+s2;
>>
>>
>>
>>
>> Og hvis det er flere Strings kan det betale sig at bruge StringBuffer:
>>
>>
>> StringBuffer sb = new StringBuffer();
>> for (int i=0; i<1000; i++)
>> sb.append("Linie " + (i+1) + "\n");
>> String s3 = sb.toString();
>
>
> Vil det så være billigere at lave
>
> sb.append("linie ");
> sb.append(i+1);
> sb.append("\n");


Ja, godt fanget. Det er bare mig der ikke er så pædagogisk.

-dennis


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste