|
| 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
| |
|
|