Java 获取特定类型的JComponent
我使用JComponent数组变量来保存JTextField和JComboBox组件。是否有一种内置的方法来检查在条件语句中使用的JComponent的类型?我似乎在API中找不到合适的方法。这是一种语言特性,而不是API 如果您想检查Java 获取特定类型的JComponent,java,swing,jcomponent,instanceof,Java,Swing,Jcomponent,Instanceof,我使用JComponent数组变量来保存JTextField和JComboBox组件。是否有一种内置的方法来检查在条件语句中使用的JComponent的类型?我似乎在API中找不到合适的方法。这是一种语言特性,而不是API 如果您想检查blah是否是SomeClass的实例,只需编写 if (blah instanceof SomeClass) { //do stuff } 通常情况下,您会希望将其视为该类的成员,因此您会将其转换为: if (blah instanceof SomeC
blah
是否是SomeClass
的实例,只需编写
if (blah instanceof SomeClass) {
//do stuff
}
通常情况下,您会希望将其视为该类的成员,因此您会将其转换为:
if (blah instanceof SomeClass) {
SomeClass someBlah = (SomeClass) blah;
//do stuff
}
您知道强制转换不会失败,因为您使用instanceof
进行了检查
注意,这并不是检查确切的类型,而是检查blah
是否与SomeClass
兼容;i、 例如,它是SomeClass
还是SomeClass
的子类
还应该说,大多数人不太关心的
实例,认为它应该被节约使用。这通常是一个糟糕设计的副作用。(但也不总是如此,比如说。)这是一种语言特性,而不是API
如果您想检查blah
是否是SomeClass
的实例,只需编写
if (blah instanceof SomeClass) {
//do stuff
}
通常情况下,您会希望将其视为该类的成员,因此您会将其转换为:
if (blah instanceof SomeClass) {
SomeClass someBlah = (SomeClass) blah;
//do stuff
}
您知道强制转换不会失败,因为您使用instanceof
进行了检查
注意,这并不是检查确切的类型,而是检查blah
是否与SomeClass
兼容;i、 例如,它是SomeClass
还是SomeClass
的子类
还应该说,大多数人不太关心
的实例,认为它应该被节约使用。这通常是一个糟糕设计的副作用。(但并非总是如此,比如我)if(comp-instanceof-JTextField)等..
啊,当然,谢谢你,我应该这样做。if(comp-instanceof-JTextField)等..
啊,当然,谢谢你,应该这样做。谢谢,@splungebob的评论是我所需要的,但我会将此标记为对未来需要此信息的任何人正确,因为这是相同的答案。谢谢,@splungebob的评论是我所需要的全部,但我会将此标记为对未来需要此信息的任何人正确,因为这是相同的答案。