main args OutOfBounceExeption

Hypokrates

Mitglied
Hallo Zusammen

Ich bekomme eine ArrayIndexOutOfBounceExeption. Mir ist nicht klar wieso.
Code:
public static void main(String[] args) {...}
hat Eclipse so erzeugt.
Code:
b.brows(args[0]);
ist von mir.

Beim Debug zeigt Eclipse für die Variable args Strings[0] (id=22), b FlieBrowser (id=24)
Das dann eine Exeption geschmissen wird macht sinn, nur wieso wird id größer?

Vielen dank für eure Mühe

[Java]import java.io.*;

public class FlieBrowser extends Browser {

public static void main(String[] args) {
try {
Browser b = new FlieBrowser();
b.brows(args[0]);
} catch (IOException e) {
System.err.print(e.getMessage());
}
}

FlieBrowser() throws IOException {
setdisplay(new TextDisplay());
setcontendprovider(new Flieprovider());
}
} [/Java]
 
Zuletzt bearbeitet von einem Moderator:
Wenn args die Grösse 0 hat, kann natürlich nicht auf das erste Element [c]args[0][/c] zugegriffen werden.
Die ID ist AFAIK einfach eine debuggerinterne Variable, welche bei jeder Objekterzeugung erhöht wird.
 
Wenn du Argumente verwenden willst, musst du welche übergeben.
Ob welche vorhanden sind, könntest du mit

args.length (oder wars args.size ?) prüfen.

Die Objekt-ID wird automatisch vergeben, typischerweise steigt sie an. Wurden alte (kleinere) IDs durch die Garbage Collection wieder frei, kann sie auch wieder fallen. Aber eigentlich kann dir das vollkommen egal sein, welche ID dein Objekt bekommt da sie für dich ja unwichtig ist...

(ich werde bestimmt gleich über die genaue Vorgehensweise des GC berichtigt werden. Wenns sein muss, muss es sein)
 
Ob welche vorhanden sind, könntest du mit
args.length (oder wars args.size ?) prüfen.
[c]length[/c] heisst das public property von Arrays. also [c]args.length[/c].
Die Objekt-ID wird automatisch vergeben, typischerweise steigt sie an. Wurden alte (kleinere) IDs durch die Garbage Collection wieder frei, kann sie auch wieder fallen. Aber eigentlich kann dir das vollkommen egal sein, welche ID dein Objekt bekommt da sie für dich ja unwichtig ist...

Mit der Speicheradresse der Objekte hat es so oder so nichts zu tun. Also auch nichts mit dem GC.
Hab schnell gegooglet: Manning Forums: How can get object ID number ? .... Also einfach irgendeine Unique ID heraufzählend.
 

Zurück
Oben