Object und int

Lädde

Grünschnabel
Hallo!

Ich habe eine Tabelle mit verschiedenen Produkten. Zu jedem Produkt gibt es ein pdf-file, das bei Betätigen eines Buttons geöffnet wird. Das funktioniert auch, nur leider öffnet sich immer dasselbe (der Default-Wert).

Hier mein Code, mit dem ich den Namen des pdf-files ermittle:

Code:
    public String getSelectedPdf(){
        produkt = new Produkt();
        String str = produkt.getPdf();
        for (int i = 0; i<jTable.getRowCount(); i++){
            produkt = (Produkt) vProdukt.get(i);
            Object test = (Object) produkt.getPartno();
            Object SelectedValue = getSelectedValue();
            if (SelectedValue == test){
                str = produkt.getPdf();
                break;
            }
        }
        return str;
    }

Dabei ist vProdukt, der Vector, in den alle Datensätze eingelesen werden, und produkt ein bestimmter Datensatz. getPartno() liefert einen Integer und getSelectedValue() ein Object, das aber ein Integer ist.

Ich arbeite mit netbeans und habe beim Debuggen festgestellt, dass sowohl SelectedValue als auch test "(java.lang.Integer)10421" sind. Trotzdem springt er nicht in meine if-Schleife.

Woran könnte das liegen?
 
Moin,
der Vergleich mittels == prüft, ob wirklich identische Objekte vorliegen. Nimm equals() und es funktioniert, allerdings dann ohne casten auf Object.
 
Zurück