---
title: "Föra över vektorinnehåll till en String"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/126433-föra-över-vektorinnehåll-till-en-string"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Arre"
published: "2005-04-14T21:32:16.000Z"
updated: "2005-04-18T09:24:38.000Z"
replies: 7
views: 386
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/126433-föra-över-vektorinnehåll-till-en-string"
---

# Föra över vektorinnehåll till en String

## #1 — Arre, 2005-04-14T21:32Z

Helloo!
Tänkte se om man kan lägga över innehållet hos varje element i en ArrayList (som endast består utav sträng objekt) till en String, ex:

ArrayList mening (innehåller flera element med ett ord i varje).. dessa ska slåss ihop till en hel mening i en String variabel:

String text = " " ;

for(int i = 0; i \< mening.size(); i++) {
     String ordet = (String) mening.get(i);
     text = ordet + " ";
}

I det här fallet består "text" endast utav det sista ordet i vektorn, dvs. det blir ingen mening direkt, bara ett ord. Hur gör man för att få en sammanhängande text med alla orden? :)

Tack på förhand!

Permalänk: https://www.webforum.nu/p/126433

## #2 — spango, 2005-04-14T21:40Z

Använd += i stället för bara = på sista raden i loopen. (Egentligen ska man använda StringBuffer/Builder i såna här situationer, men det är en annan sak.)

Permalänk: https://www.webforum.nu/p/1592283

## #3 — Arre, 2005-04-15T17:33Z

Yeay, det funkar jättebra! Tack så hemskt mycket! :)
Jag försökte precis lägga in String text objektet (som nu innehåller en mening) i en ArrayList:

inskrivningar.add(text);

Men varje gång jag gör den proceduren så ersätts första elementet med den senaste String text-objektet, dvs. den hamnar inte inte i ett nytt element i ArrayListen.. vad kan det bero på tro? :D

Permalänk: https://www.webforum.nu/p/1592689

## #4 — spango, 2005-04-15T18:43Z

Nånting annat ;) 
add lägger alltid till sist i en ArrayList. Du råkar skapa nya ArrayLists varje gång du add:ar eller så...?

Permalänk: https://www.webforum.nu/p/1595697

## #5 — Arre, 2005-04-15T19:50Z

:)
Njaa, jag tror inte det... den ersätter första elementet märkligt nog. I en for loop kan man lägga till i flera element, men enskildt kanske det inte går att ha en ökande "add" funktion för en ArrayList, eller e jag helt ute o cyklar nu? :S

Permalänk: https://www.webforum.nu/p/1595713

## #6 — spango, 2005-04-18T08:52Z

Nej, huruvida du anropar add från en loop eller ej är helt ovidkommande, det är inget som kompilatorn eller JVM:en har någon anledning att bry sig om. add (och alla andra metoder) beter sig alltid på samma sätt oavsett varifrån de anropas, annars vore det rätt meningslöst...

Fast det är fortfarande något annat som är fel, add lägger alltid till (som namnet antyder) och ersätter inte. Någon har kodat fel nånstans; antingen du eller Suns programmerare, och om du inte tar illa upp tror jag nog inte att felet ligger hos Sun :)

Permalänk: https://www.webforum.nu/p/1596407

## #7 — nitro2k01, 2005-04-18T08:57Z

> **spango skrev:**
>
> (Egentligen ska man använda StringBuffer/Builder i såna här situationer, men det är en annan sak.)

Teknisk kommentar: Det fixar javac automtiskt.

Permalänk: https://www.webforum.nu/p/1596410

## #8 — spango, 2005-04-18T09:24Z

Jo, men inte lika effektivt. Att skriva *foo += bar* (där både foo och bar är strängar) är detsamma som att skriva *foo = new StringBuffer(foo).append(bar).toString()*, vilket innebär att det för varje varv i loopen allokeras en ny StringBuffer och en ny String. Om man använder iteration för att bygga upp en sträng är det effektivare att mecka med StringBuffers/Builders själv, så att man bara allokerar en StringBuffer och en String. (StringBuilder är som StringBuffer fast inte trådsäker och därmed effektivare.)

Permalänk: https://www.webforum.nu/p/1596423

---

Tråden på webben: https://www.webforum.nu/amne/java/126433-föra-över-vektorinnehåll-till-en-string
