Avatar billede javanewbie Nybegynder
18. februar 2004 - 12:00 Der er 4 kommentarer og
1 løsning

String konkatenering

Ikke at det betyder det store, men jeg er nysgerrig...

Hvis jeg har en lang streng, og jeg for overskuelighedens skyld vælger at definere den over flere linier, er der så nogen performancemæssig forskel på følgende måder:

String s = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
s = s + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
s = s + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

kontra

String s = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
      "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +
      "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
Avatar billede arne_v Ekspert
18. februar 2004 - 12:02 #1
Afhænger af hvor godt den optimerer.

meget god => ingen forskel

ikke meget god => sidste er hurtigst

Derfor ville jeg altid vælge det sidste.
Avatar billede javanewbie Nybegynder
18. februar 2004 - 12:07 #2
Ok. Smid et svar. :-)
Avatar billede arne_v Ekspert
18. februar 2004 - 12:10 #3
ok
Avatar billede jakoba Nybegynder
20. februar 2004 - 04:47 #4
Du siger du gør det for overskuelighed, så her er en alternativ metode der er totalt gratis:

String s = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
//...
            + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

Når du gør det som sådan et udtryk med bar konstanter i vil Java compileren optimere ved at regne den færdige (alt for lange) streng ud og så bare bruge den. Det koster slet ikke noget i køretid.

mvh JakobA
Avatar billede arne_v Ekspert
20. februar 2004 - 07:57 #5
Jakob>

Er det ikke hans sidste forslag bare med + først i.s.f. sidst i linien ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester