Java ist auch eine Insel

Freitag, Februar 09, 2007

Absonderliche Schreibweise bei einer Feld-Rückgabe

Da blättere ich gerade durch das "Just Java" Buch und glaube, schon einen Fehler gefunden zu haben, da sagt mir der Compiler, dass alles in Ordnung ist:
public class T
{
public static int foo()[]
{
return new int[] { 1, 2, 3 };
}

public static void main( String[] args )
{
System.out.println( foo().length );
}
}

Diese sonderbare Rückgabe habe ich noch nie gesehen und ist mir in der Grammatik der Sprache Java auch noch nie aufgefallen.

Labels:

AddThis Social Bookmark Button

7 Comments:

  • *g ist die Fehlersuche in Java-Büchern ein Hobby oder berufliches Interesse ;-) ? Abseits davon: Ihr "Java ist auch eine Insel" - Buch ist gar nicht so übel - ich würd sogar meinen es ist wirklich ziemlich gut - und ich konnte bisher noch keinen Fehler finden ;-)

    By Blogger GamerForSale, at Februar 10, 2007 6:31 AM  

  • Ohh. Die Insel hat da noch genug Fehler. In der aktuellen Ausgabe sind schon wieder viele Stellen markiert.
    Ich habe mir vor Jahren bei EBay regelmäßig Java-Bücher gekauft, bis die Anzahl auf etwa 70 ging. Jetzt bin ich dabei, den Berg abzubauen. (Die Ausgaben der c’t sind schon geschafft. Juhuu.) Auch wenn viele Bücher mittlerweile veraltet sind, gibt es doch noch immer interessante didaktische Vorangehensweisen, sodass auch ein altes Java-Buch noch Reize hat.

    By Blogger Christian Ullenboom, at Februar 10, 2007 9:30 AM  

  • @Christian:

    Ich kannte die Array-Feldrückgabe-Art bereits - vermutlich auch aus irgendeinem Java Buch, dass hier daheim bei mir rumlungert ;-). Ich hab mittlerweile auch den Tick entwickelt mir diverse (sorgföktig ausgewählte) Java-Bücher zu kaufen - nach einiger Zeit geht das leider ganz schön ins Geld :-( ... Und leider erwischt man - milde ausgedrückt auchmal didaktischen Schrott - daher hab ichs mir zur Gewohnheit gemacht erstmal Rezensionen zu den Büchern durchzulesen :-).

    Witzig - Ich war kurz davor die ct zu abonnieren, hab mich aber dann doch für ein Probeabo des Java-Magazins entschieden - kennen sie das zufällig ?

    By Blogger GamerForSale, at Februar 10, 2007 10:16 AM  

  • Es ist doch ein ganz (naja fast) normaler Java Ausdruck um ein initialisiertes Array(objekt) zur erzeugen und nicht nur auf Rückgabe werte beschränkt:

    zb.:
    String [] str_arr;
    ...
    str_arr = new String[] {"hallo","hugo"};

    oder
    main(new String[] {"hallo","hugo"});

    Bei einer Deklaration (mit Initialisierung) einer Array Variablen kann dabei das
    "new classnam[]" entfallen:

    String [] str_arr = {"hallo","hugo"};

    By Anonymous charly, at Februar 10, 2007 1:00 PM  

  • @GamerForSale. Ja, das JavaMagazin hatte ich auch etwas 2 Jahre im Abo. Hab's dann aber abbestellt, weil ich das, was mich interessierte, nicht fand. Ich bin mit Blogs und Online-Magazinen ganz glücklich und lese regelmäßig http://javablogs.com/ und http://java.net/. Dazu höre ich regelmäßig http://www.javaposse.com/ und http://www.se-radio.net/.

    By Blogger Christian Ullenboom, at Februar 11, 2007 11:12 AM  

  • @Christian:

    Hey - super ;-) ! Da kann ich mir ja das Geld fürs javaMagazin sparen :-).
    Ich muss zugeben, die aktuelle Ausgabe ist auch für mich nur begrenzt interessant (JRuby).

    By Blogger GamerForSale, at Februar 12, 2007 6:57 AM  

  • Hmmm...
    Diese absonderliche Schreibweise ist ein Erbe von Kernighan-Ritchie C.

    Klappt auch mit Variablendeklarationen.

    Gruß,
    mruopp

    By Anonymous Anonym, at Mai 30, 2007 1:27 PM  

Kommentar veröffentlichen

<< Home