我正在使用 JComponent 数组变量来保存 JTextField 和 JComboBox 组件。是否有内置方法来检查 JComponent 的类型以用于条件语句?我似乎无法在 API 中找到合适的方法。
最佳答案
这是一种语言特性,而不是 API。
如果你想检查blah
是否是SomeClass
的一个实例,你只需要写
if (blah instanceof SomeClass) {
//do stuff
}
通常你会想把它当作属于那个类,所以你会施放它:
if (blah instanceof SomeClass) {
SomeClass someBlah = (SomeClass) blah;
//do stuff
}
您知道转换不会失败,因为您使用 instanceof
进行了检查。
请注意,这不是检查确切 类型,而是检查blah
是否与SomeClass
兼容;即,它是 SomeClass
还是 SomeClass
的子类。
还应该说,大多数人不太关心instanceof
,将其视为应该谨慎使用的东西。它通常是糟糕设计的副作用。 (但不是总是,我说。)
关于java - 获取特定类型的 JComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26391803/