Typ überprüfung

Status
Nicht offen für weitere Antworten.
T

Tomate_Salat

Gast
Hi @ all,
ich bin mir iwie sicher, dass das bestimmt mal Thema war, aber bei mir hat SuFu nix ausgespuckt.
Also ich habe folgendes Problem:
ich benutze folgende Klasse in einer ArrayListe
Code:
public class Entry {
    private Object objekt;
    private boolean visibility;
    
    public Entry(Object item, boolean visible) {
        this.objekt = item;
        this.visibility = visible;
    }
}

Wie kann ich z.B. überprüfen ob das Objekt vom Typ JButton oder JTextField ist?
[Nebenbei: die Klasse kann noch mehr, mir geht es hier nur um die Typprüfung]

MFG

Tomate_Salat
 

0x7F800000

Top Contributor
...eigentlich mit dem "instanceof" operator:
Code:
if(object instanceof JLabel){
   //mach dies und das
}else{
  throw new IllegalArgumentException("objekte vom typ "+object.getClass()+" schmecken nicht");
}
Ich würde jetzt aber zu gerne erfahren, wozu du das brauchst, sieht nämlich ziemlich verdächtig aus, und ist vielleicht durch normale vererbung und normale generics sauber lösbar.
 
T

Tomate_Salat

Gast
*kopf auf tisch hau* iwie kommt mir der code bekannt vor.

Ich will so iwie versuchen die Sichtbarkeit von Elementen regeln. Und diese Elemente befinden sich in dem Programm was 100% von mir geschrieben wurde/wird. Da ich keine Lust habe, mehrere Entry-Klassen zu schreiben, will ich das mittels Objekt lösen

Wieso, was soll daran verdächtig sein?

EDIT Wie kann man das mit einer Switch-Abfrage verbinden?
 
Zuletzt bearbeitet von einem Moderator:

Schandro

Top Contributor
sachen wie instanceof und switch klappen nicht zusammen.

Wie gesagt, generics wären da mit Sicherheit die bessere Lösung
 

0x7F800000

Top Contributor
Und diese Elemente befinden sich in dem Programm was 100% von mir geschrieben wurde/wird. Da ich keine Lust habe, mehrere Entry-Klassen zu schreiben, will ich das mittels Objekt lösen
noch lange kein Grund es absichtlich schlecht zu lösen: versuch's lieber so richtig wie möglich zu lösen, schlecht wird's auch von alleine^^
Wieso, was soll daran verdächtig sein?
Du willst irgendetwas typunsicher lösen. Unsichere Sachen sind verdächtig.
Lieber zwei kleine wrapperklassen schreiben, und alles mit normaler polymorphie lösen, die automatisch alle fallunterscheidungen erschlägt.
 
T

Tomate_Salat

Gast
@Schandro: hmm in wie fern sollen Generics besser sein? da bräuchte ich trotzdem ne überprüfung, welcher typ da drin ist.

ich glaube ich schreibe einfach mehrere Konstruktoren, die den Variabeln iwas zuweisen
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben