Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
"instanceof" erwartet einen Klassennamen (oder ein Interfacenamen), also z.B. "String", oder "Collection". Mit einem Objekt (auch wenns vom Typ Class ist), kann es nicht umgehen.
Versuchs mal mit "obj.getClass().equals( getColumnClass( column ))".
nur zum Verständis:
Was erwartet dann instanceof eigentlich auf der Rechten Seite ? Ok einen Klassenname, aber was ist das ? Ein String ist es ja nicht ...
Und wo in der API finde ich instaceof eigentlich , es ist ja keine Methode einer KLasse oder ?
das is mir schon klar ... aber was ist z.B. JLabel in dem Fall ?
Es ist kein String mit den Zeichen J,L,a, ... usw. es ist auch kein Objekt vom Typ Class ... tja ... k A ???:L
das is mir schon klar ... aber was ist z.B. JLabel in dem Fall ?
Es ist kein String mit den Zeichen J,L,a, ... usw. es ist auch kein Objekt vom Typ Class ... tja ... k A ???:L
Ich glaube Du stehst auf der Leitung. Mit A instanceof B wird geprüft, ob das Objekt A eine Instanz der Klasse B ist. Was gibt es daran nicht zu verstehen?
das is mir schon klar ... aber was ist z.B. JLabel in dem Fall ?
Es ist kein String mit den Zeichen J,L,a, ... usw. es ist auch kein Objekt vom Typ Class ... tja ... k A ???:L
Ich glaube Du stehst auf der Leitung. Mit A instanceof B wird geprüft, ob das Objekt A eine Instanz der Klasse B ist. Was gibt es daran nicht zu verstehen?
das is natürlich nichts neues, was rauskommt weiß ich auch ... naja lassen wirs geht wohl zu tief in JavaGrundlagen, die man in der Praxis ned braucht, und die meisten deshalb wohl ned wissen (ich eingeschlossen, deshalb hatte ich ja gefragt) ...
public class Main extends JFrame implements ActionListener
{
Main()
{
JButton button1 = new JButton("Test");
....
}
public void actionPreformed(ActionEvent e)
{
if(e.getSource() instanceof JButton)
{
// wenn button1 gedrückt wird, ergibt das true
}
}
public static void main(String[] args)
{
Main main = new Main();
}
}
anscheinend, das was du die ganze zeit schriebst hat er kapiert. siehe meinen letzten post da steht was er will und ich ihm auch nicht beantworten kann
anscheinend, das was du die ganze zeit schriebst hat er kapiert. siehe meinen letzten post da steht was er will und ich ihm auch nicht beantworten kann
Anscheinend ist das Problem immer noch nicht gelöst, ich versuch mal mein Glück:
Code:
//das ist dir klar
windhund instanceof Hund
Also, links ist ein Objekt, eine Instanz einer Klasse. Und rechts ist der Name einer Klasse. Wobei der Name der Klasse aber nicht vom Typ String ist. Er ist vom Typ Hund. Also die Klasse, die rechts steht, ist ihr eigener Typ.
Code:
//hier wird ein Objekt erzeugt vom Typ Hund
Hund windhund = new Hund("Windhund");
//und hier wird geprüft, ob das Objekt vom Typ Hund ist
if (windhund instanceof Hund)
Hund windhund = new Hund("Windhund");
String typname = "Hund";
if (windhund instanceof typname)
nicht geht.
Die Antwort: ES GEHT EINFACH NICHT, ggf kannst du mit
getClass().getName().equals("Hund") usw. weitermachen
instanceof erwartet auf der rechten seite IMMER einen zur Übersetzungszeit konstanten literalen Ausdruck, der der Klassenname einer schon dem javac bekannten Klasse ist