Как избавиться от ошибок несоответствия типов при создании объектов в массивы различного типа? - PullRequest
2 голосов
/ 01 июня 2009

Это мой класс:

public class Test {     
    Test(){
        new Webshop
            (new Warenkorb[]{"Max", new Artikel[]{new Artikel("AAA",3.0)}, 
                                "Joe", new Artikel[]{new Artikel("BBB",3.0), 
                                new Artikel("CCC",3.0)}
                            },
                new Warenkorb[]{"Sam", new Artikel[]{new Artikel("BBB",3.0), 
                                                      new Artikel("CCC",3.0)}
                                },
            ); 
    }
}

а это мои конструкторы:

Artikel(String name, double preis){
    this.name = name;
    verkaufspreis = preis;
    Art = Warengruppe.S;

Warenkorb(String kunde, Artikel[] artikel){
    this.kunde = kunde;
    artikelliste = artikel;
    sessionid = s.nextInt();
    summe = 0;
    for(Artikel preis : artikel){
        summe += preis.verkaufspreis;
    }
}

Я получаю ошибки несоответствия типов в

Тестовый класс (String [] не может быть преобразован в Warenkorb [] | Artikel [] не может быть преобразован в Warenkorb)

Как мне устранить эти ошибки?

1 Ответ

5 голосов
/ 01 июня 2009

Вам не хватает вызова конструктора элементов Warenkorb.

Попробуйте

...
new Warenkorb[]{new Warenkorb("Max", new Artikel[]{new Artikel("AAA",3.0))}, 
                new Warenkorb("Joe", new Artikel[]{new Artikel("BBB",3.0), 
                                                  new Artikel("CCC",3.0))}
...
...