[英]Check if Object is instance of String, HashMap, or HashMap[ ]
我在java中有一个Object。 有没有办法在将对象实际投射到这些对象之前检查对象是否是String,HashMap或HashMap []的实例?
如果没有,因为上述方法似乎违反直觉,是否有办法将其投射到每个对象中,并测试一些关于新铸造的对象,看看它实际上是否是它所铸造的对象的类型?
是:
if(obj instanceof String)
{
String str = (String) obj;
.
.
.
}
顺便说一句,澄清一下:
[...]测试一些关于新铸造物体的东西,看看它实际上是否是它所铸造的物体的类型?
您无法将某些内容转换为无效类型。 如果obj
具有String
类型,那么((Integer)obj)
将导致在运行时引发ClassCastException
。
您正在寻找instanceof
运算符。
instanceof运算符将对象与指定的类型进行比较。 您可以使用它来测试对象是否是类的实例,子类的实例或实现特定接口的类的实例。
示例: "Hello" instanceof String
将返回true
而new Integer(5) instanceof String
将返回false
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.