Object[][]

thobren

Mitglied
Hallo zusammen!
Wieso funktioniert das mit dem Object[][] nicht?

[CODE lang="java" highlight=""9,11""]public static void TestObject() {

Empoyee emp = new Empoyee();

emp.setId(1);
emp.setName("Martin");
emp.setAge(28);

Object[][] data = {Integer(1),"Martin",new Integer(28))};

Object[][] data = {emp.getId(),emp.getName(),emp.getAge()};


}[/CODE]



Java:
public class Empoyee {

    private int id;
    private String name;
    private Integer age;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    
}



Vielen Dank im voraus
 
Zuletzt bearbeitet:
Was versuchst Du denn? Ich würde einfach einmal sagen: Du machst etwas falsch. Mit hoher Wahrscheinlichkeit ein schlechtes Design, sprich: Das was Du versuchst ist schon mangelhaft aber wenn etwas nicht funktioniert, dann hast Du schlicht etwas falsch gemacht.

Wenn Du uns Details gibst, dann kann man dir aber bestimmt helfen.
 
Was versuchst Du denn? Ich würde einfach einmal sagen: Du machst etwas falsch. Mit hoher Wahrscheinlichkeit ein schlechtes Design, sprich: Das was Du versuchst ist schon mangelhaft aber wenn etwas nicht funktioniert, dann hast Du schlicht etwas falsch gemacht.

Wenn Du uns Details gibst, dann kann man dir aber bestimmt helfen.
Danke erstmal

Bei
{new Integer(1),"Martin",new Integer(28))};
{emp.getId(),emp.getName(),emp.getAge()};
gibt es die Fehler

Connection to SQLite has been established.
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method Integer(int) is undefined for the type Main
Type mismatch: cannot convert from String to Object[]
Type mismatch: cannot convert from Integer to Object[]
Syntax error on token ")", delete this token
Duplicate local variable data
Type mismatch: cannot convert from int to Object[]
Type mismatch: cannot convert from String to Object[]
Type mismatch: cannot convert from Integer to Object[]

at Main.TestObject(Main.java:55)
at Main.main(Main.java:16)

Das erste müßte eigenlich funktionieren

Das funktiniert auch nicht. Und sicherlich schlechtes Design, aber ich möchte es verstehen.
Java:
Emplyee[][] data = {Integer(1),"Martin",new Integer(28))};
Emplyee[][] data = {emp.getId(),emp.getName(),emp.getAge()};
 
Danke erstmal

Bei
{new Integer(1),"Martin",new Integer(28))};
{emp.getId(),emp.getName(),emp.getAge()};
gibt es die Fehler

Connection to SQLite has been established.
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method Integer(int) is undefined for the type Main
Type mismatch: cannot convert from String to Object[]
Type mismatch: cannot convert from Integer to Object[]
Syntax error on token ")", delete this token
Duplicate local variable data
Type mismatch: cannot convert from int to Object[]
Type mismatch: cannot convert from String to Object[]
Type mismatch: cannot convert from Integer to Object[]

at Main.TestObject(Main.java:55)
at Main.main(Main.java:16)

Das erste müßte eigenlich funktionieren

Das funktiniert auch nicht. Und sicherlich schlechtes Design, aber ich möchte es verstehen.
Java:
Emplyee[][] data = {Integer(1),"Martin",new Integer(28))};
Emplyee[][] data = {emp.getId(),emp.getName(),emp.getAge()};

Emplyee[][] data = {new Integer(1), ...
 
Den Fehler habe ich schon entdeckt, also das fehlden "new".
Geht aber leider auch nicht.
Was mache ich falsch?
Sorry, hab nicht genau hingeschaut: da stimmt ja gar nix.

Dein data-Array ist ein zweidimensionales Array - Du versuchst das mit einem eindimensionalen Array zu initialisieren. Kann nicht funktionieren.

Dein data-Array ist ein Emplyee-Array - Du kippst da einach irgendwelche Werte rein. Kann nicht funktionieren.

Das müsste etwa so aussehen:
Java:
Emplyee[][] data = {
    {new Emplyee("0,0"), new Emplyee("0,1"), new Emplyee("0,2")},
    {new Emplyee("1,0"), new Emplyee("1,1"), new Emplyee("1,2")}
};
Wobei ich mir den Konstruktor von Emplyee jetzt nur ausgedacht habe, um das besser darstellen zu können.
 
Sorry, hab nicht genau hingeschaut: da stimmt ja gar nix.

Dein data-Array ist ein zweidimensionales Array - Du versuchst das mit einem eindimensionalen Array zu initialisieren. Kann nicht funktionieren.

Dein data-Array ist ein Emplyee-Array - Du kippst da einach irgendwelche Werte rein. Kann nicht funktionieren.

Das müsste etwa so aussehen:
Java:
Emplyee[][] data = {
    {new Emplyee("0,0"), new Emplyee("0,1"), new Emplyee("0,2")},
    {new Emplyee("1,0"), new Emplyee("1,1"), new Emplyee("1,2")}
};
Wobei ich mir den Konstruktor von Emplyee jetzt nur ausgedacht habe, um das besser darstellen zu können.
Danke
ich bin ein Stück weiter gekommen.
Ich habe die geschweiften Klammer vergessen, die man für das 2 D braucht.

Java:
Object[][] data1 = {{1,"Martin",28}};
Object[][] data2 = {{emp.getId(),emp.getName(),emp.getAge()}};

So geht es, bzw zeigt keine Fehler an.

Und jetzt zeigt er bei
Java:
Object[][] data3 = {{emp}};
auch keinen Fehler an.
 
Zuletzt bearbeitet:
So geht es, bzw zeigt keine Fehler an.
Willst Du uns nicht evtl. einmal sagen, was Du da überhaupt machen willst?

Das sieht alles wenig durchdacht aus.
a) Du hast da einfach ein Object[] das Du halt in ein weiteres Array der Länge 1 packst.
b) Du nutzt da komplett Object - schmeisst jede Typsicherheit weg. Das klingt auch relativ dubios. Zumal Du da evtl. sogar schon einen Typ hast.

Was machst Du mit SQLite, das dies erfordert?
 

Neue Themen


Zurück
Oben