Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA] van ArrayList naar List

Pagina: 1
Acties:
  • 208 views

  • Khallouki
  • Registratie: Oktober 2006
  • Laatst online: 16:51
Beste allen,

Ik zit met het volgende.

Ik heb een method die als parameter een ArrayList ontvangt. Deze method moet de ArrayList omzetten naar een List. De returntype van de method is ook een List.


Ik heb dit geprobeerd.

public List maakList(ArrayList list){
List listje = Arrays.asList(list);
return listje;
}

Maar dit schijnt niet te lukken hij returned alsnog een ArrayList. De compiler geeft ook geen error bij deze method.
Kan iemand mij hierbij helpen?

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 14:38

voodooless

Sound is no voodoo!

List is een interface, en ArrayList implementeert deze. Een ArrayList IS dus al een List, conversie is niet nodig, gewoon casten is voldoende.

Als de compiler geen error geeft, waar is dan het probleem? Daarom gaat het dus mis:

asList doet heel wat anders. Het verwacht namelijk een arbitrair aantal objecten en converteert deze naar een List. Jij geeft nu de ArrayList mee, met als resultaat een List<ArrayList>.

[ Voor 43% gewijzigd door voodooless op 26-05-2011 20:50 ]

Do diamonds shine on the dark side of the moon :?


  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
http://download.oracle.co.../java/util/ArrayList.html
All Implemented Interfaces:
Cloneable, Collection, List, RandomAccess, Serializable

  • Khallouki
  • Registratie: Oktober 2006
  • Laatst online: 16:51
voodooless schreef op donderdag 26 mei 2011 @ 20:47:
List is een interface, en ArrayList implementeert deze. Een ArrayList IS dus al een List, conversie is niet nodig, gewoon casten is voldoende.

Als de compiler geen error geeft, waar is dan het probleem?
Het probleem ligt em bij Hibernate:

Hibernate zegt namelijk dit:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.Set

Hibernate kan de ArrayList niet casten naar een Set, hij heeft hiervoor een List nodig.

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 14:38

voodooless

Sound is no voodoo!

Set != List , Dus ook een ArrayList kun je niet casten naar een Set.

[ Voor 14% gewijzigd door voodooless op 26-05-2011 20:52 ]

Do diamonds shine on the dark side of the moon :?


  • lembregtse
  • Registratie: Juni 2007
  • Laatst online: 04:22
Probeer eens

Set resultaatSet = new HashSet(jouwArrayList);

Beetje googlen: http://www.javadb.com/con...-set-arraylist-to-hashset

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 26-11 22:53

Creepy

Tactical Espionage Splatterer

Beetje googlen, maar ook de daadwerkelijke foutmelding lezen zou een stuk schelen.

Anyway, ik denk dat je er wel uit moet komen. Als je googled op "arraylist to set" o.i.d. kom je echt ladingen links tegen met oplossingen ;) Probeer voor een eventuele volgende keer eerst heel even echt te kijken wat de foutmelding is, want dan ben je met 1 gerichte zoekopdracht direct waar je wezen moet, zelfs zonder echte kennis van java.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.