# Objekte in einer Schleife erzeugen



## Guest (16. Mai 2004)

Hallo
Ist es möglich mehrere Objekte durch eine schleife zu erzeugen

zum Beispiel



```
int i;
for(i=0;i<5;i++)
{
Test t[i]=new Test()
}
```
Kommt ein Fehler  ']' expected

Noch eine andere Frage. In einem Vektor kann ich verschiedene Objekte speichern

Beispielsweise

```
Vector v=new Vector()
v.add(t1);
```
Wenn ich es aber ausgeb hab ich ja glaub nur die adresse...Wie erhält man zugfriff auf die Werte die im Objekt gespiechert sind?

Danke


----------



## Beni (16. Mai 2004)

*1.* Du musst nach jedem Vefehl ein Semikolon machen.
*2.* Du musst zuerst einen Array herstellen, und ihn danach füllen.

```
int i;
Test[] t = new Test[ 5 ]; // <<<< Array erstellen
for(i=0;i<5;i++){
  t[i]=new Test();  // <<<<< Semikolon
}
```


Bei Vectors kannst du folgendes machen:

```
int index = ...
Vector vector = ...

Object obj = vector.get( index );

if( obj instanceof String ){
  String s = (String)obj;
}
else if( obj instanceof XYZ ){
  XYZ x = (XYZ)obj;
}
```
Das nennt man "casten".

mfg Beni


----------



## KSG9|sebastian (16. Mai 2004)

Objekte in Array:


```
Test[] t = new Test[20];

for(int i=0;i<20;i++){
    t[i] = new Test();
}
```

Objekte in Vector:




```
class Test{
    private int x;
    public Test(int x){
        this.x = x;
    }
    public getX(){
        return x;
    }
}

Vector v = new Vector();


//Objekte in Vektor
for(int i=0;i<20;i++){
    v.add(new Test(5));
}

//Objekte auslesen
for(int i=0;i<v.size();i++){
    Test testobj = (Test)v.get(i);
    System.out.println(testobj.getX());
}
```

Arrays erklärt sich selbst.

Vektor: Wenn man die Referenz ausliest weis der Compiler nicht von welchem Typ die Ref ist, deshalb musst du die Referenz auf die Klasse Test casten, dann hast du ganz normalen Zugriff drauf.


----------

