Ich glaube der ParseError könnte daraus resultieren, dass du versuchst
mit {"Hans", "Joachim", "Werner"} ein String[] zu bekommen... sofern das
nicht inzwischen anders ist müsste das
new String[]{"Hans", "Joachim", "Werner"}
sein statt dessen. Demnach wäre die Zeile:
ArrayList<String> v = new ArrayList(Arrays.asList(new String[]{"Hans",
"Joachim", "Werner"});
ich glaube da könnte der Compiler noch wegen generics meckern, aber das
zu bereinigen überlasse ich dann dir.
Allerdings möchte ich da noch zwei Dinge sagen:
1) Wenn der Ausdruck derart lang ist würde ich in aufsplitten:
String[] names = new String[]{"Hans", "Joachim", "Werner"}
ArrayList<String> v = new ArrayList(Arrays.asList(names);
2) person1 = new Person("Müller", v, "29.3.1965"); Dein Konstruktor
war: Person(String name, ArrayList<String> vornamen). Wenn du genau
hinschaust, dann sind da Name und die Vornamen, aber kein Geburtsdatum,
der Compiler wird sich da also wieder beschweren.
Gruss theo
--
Jochen "blackdrag" Theodorou
The Groovy Project Tech Lead
http://blackdragsview.blogspot.com/
For Groovy programming sources visit http://groovy.codehaus.org
> Arrays.asList({"Hans", "Joachim", "Werner"})
Warum glaubst Du, das so schreiben zu können?
Lass die geschweiften Klammern weg. Die brauchst Du nur, wenn Du ein
anonymes String-Array übergeben willst - dann musst Du allerdings noch
ein "new String[]" davorschreiben, wie Theo schon schrieb
Arrays.asList(new String[]{"Hans", "Joachim", "Werner"}));
AFAIK seit Java 1.5 hat Arrays#asList() die Signatur
public static <T> List<T> asList(T... a)
( vorher: public static List asList(Object[] a) )
D.h., ab 1.5 kannst Du einfach eine beliebige Anzahl an Strings übergeben:
Arrays.asList("Hans", "Joachim", "Werner")
HTH
Bye
Achim
> On Sat, 27 Nov 2010 22:39:14 +0100, Achim Peters <Achim...@gmx.de>
> wrote:
>
[snip]
>
> Hmm, das folgende wird nicht übersetzt
> Fehler: ')' expected
>
> person1 = new Person("Müller", new ArrayList(Arrays.asList("Hans",
> "Joachim", "Werner"), "29.3.1965");
(..(..(.-.)..)
>
> Mache ich etwas falsch?
Ja, Dir fehlt eine schließende Klammer.
person1 = new Person("Müller", new ArrayList(Arrays.asList("Hans",
"Joachim", "Werner")), "29.3.1965");
^^
Könnte evt passen.
>
> Gruß
> Jens
Gruß Jan