Hej jag vill sätta ihop två String, har provat :
första_sträng.concat(andara_sträng);
Fungerar inte så bra tyvärr, har ngn tips på hur jag ska göra för att sätta ihop dem?
8 svar · 414 visningar · startad av Mc Fetto
Hej jag vill sätta ihop två String, har provat :
första_sträng.concat(andara_sträng);
Fungerar inte så bra tyvärr, har ngn tips på hur jag ska göra för att sätta ihop dem?
Hej
Concatmetoden retunerar en sträng så du kan använda den så här:
första_sträng = första_sträng.concat(andra_sträng);
Annars kan du ju alltid skriva:
första_sträng = första_sträng + andra_sträng;
Det var smidigt att man enkelt kan plusa på bara :), man tackar!!!
Tänk på att strängkonkatenering med + skapar många stränginstanser som måste städas bort. Så fort man har fler än 4 strängar som +as på varandra och dessa tillsammans blir större än 256 tecken så vinner man på att skapa en StringBuffer,
/Lime
För övrigt heter det sammanfogning och inte konkatenering.
Lime skrev:
Tänk på att strängkonkatenering med + skapar många stränginstanser som måste städas bort. Så fort man har fler än 4 strängar som +as på varandra och dessa tillsammans blir större än 256 tecken så vinner man på att skapa en StringBuffer,/Lime
Det Lime nämner kan vara mycket väsentligt ur prestandasynpunkt. Ska mycket text läggas till är en StringBuffer alltid att föredra.
Men det är väl mer om man arbetar med filer och längre stycken i db eller? Om man endast jobbar med typ mindre inmatningar spelar det väl ingen roll?
Om det rör sig om att fixa en utmatning, ex:
System.out.println("i = " + i + ", j = " + j + .....);
så funkar plus hur bra som helst. Men om du t.ex. ska lägga till en massa mellanslag för att fixa strängar som är lika långa (fast de inte är det från början)... säg att du skriver ut strängar som ursprungligen är mellan 5-15 tecken, du ska skriva ut 10 sådana och före utskrift så har du en liten funktion:
private String fix(String str) {
while (str.length() < 15)
str = str + " ";
}
Då skapas i varje varv två nya strängar och då kan det börja märkas. Om du löser det med StringBuffer istället så har du hela tiden ETT objekt som du jobbar med och det går fortare.