检查对象是否是用户指定的特定数据类型的实例

时间:2014-11-13 18:01:31

标签: java class types

我正在努力检查对象是否是特定数据类型的实例,这是由用户输入提供的。例如:

Object a = new Object();
String userDataType = JOptionPane.showInputDialog("What kind of datatype do you want to check?");
if(Object a instanceof userDataType))  doStuff(); 

我尝试过反思,但我仍然无法落后于此......

提前谢谢!

3 个答案:

答案 0 :(得分:3)

尝试与对象类的getSimpleName()进行比较,该对象仅返回非限定类名(不包含包名)。

Object o;
String userInput;
if (o.getClass().getSimpleName().equalsIgnoreCase(userInput))

答案 1 :(得分:0)

instanceof关键字的工作原理是将其与实际对象类型进行比较,而不是字符串。例如:

Object a = getUseObject();
if( a instanceof String )  doStuff();  // if a is actually a String
else if (a instanceof double[]) doStuff();  // if a is actually an array of doubles

答案 2 :(得分:0)

将其强制转换为您要检查的数据类型,根据需要处理异常。