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.

7 Antwort(en) auf ›Absonderliche Schreibweise bei einer Feld-Rückgabe‹

  1. # Blogger GamerForSale

    *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 ;-)  

  2. # Blogger Christian Ullenboom

    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.  

  3. # Blogger GamerForSale

    @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 ?  

  4. # Anonymous charly

    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"};  

  5. # Blogger Christian Ullenboom

    @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/.  

  6. # Blogger GamerForSale

    @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).  

  7. # Anonymous Anonym

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

    Klappt auch mit Variablendeklarationen.

    Gruß,
    mruopp  

Kommentar veröffentlichen