在搜索了SO和网络之后,我还没有在Java中找到答案.这很简单.
我有抽象类ParentClass.类X和类Y都继承自ParentClass.我也有类DataInputDialog extends JDialog,这是为了提供一个用户界面,用于将数据输入到类X和类Y实例中.DataInputDialog类如下所示:
public class DataInputDialog extends JDialog {
public DataInputDialog(ParentClass xOrY) {
//calls super constructor, makes basic components such as
// buttons and panels that are used in either X or Y data entry
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想要一个switch声明来确定ParentClass传递给哪种类型的声明DataInputDialog.但是,我不知道如何实现这一目标.我试过了:
switch (xOrY.getClass().getTypeName()) {
case X.class.getTypeName();
}
Run Code Online (Sandbox Code Playgroud)
还有其他一些变体,但它总是在case语句中出现一个错误:它必须是一个常量String,或者它不能转换为整数.
如何获取此switch语句以确定是否xOrY是X或的实例Y?