我在java中有一个对象。在将一个对象实际转换为这些对象之前,有没有办法检查它是否是String、HashMap或HashMap的实例?
如果不是,那么有没有办法将它转换到每个对象中,并测试新转换的对象,看看它实际上是不是被转换成的对象类型?
发布于 2012-02-18 10:32:51
是:
if(obj instanceof String)
{
String str = (String) obj;
.
.
.
}顺便说一句,要澄清这一点:
…测试一些关于新转换的对象的东西,看看它是否真的是转换成的对象类型?
您不能将某些内容强制转换为无效类型。如果obj的类型为String,则((Integer)obj)将导致在运行时引发ClassCastException。
发布于 2012-02-18 10:32:42
您正在寻找instanceof运算符。
instanceof运算符将对象与指定类型进行比较。您可以使用它来测试对象是类的实例、子类的实例还是实现特定接口的类的实例。
示例:"Hello" instanceof String将返回true,而new Integer(5) instanceof String将返回false。
https://stackoverflow.com/questions/9337993
复制相似问题