简体   繁体   English

用于对象的Java方法投射可能性

[英]Java method for objects cast possibility

Is is possible to check whether given Object item can be casted to some class? 是否可以检查给定的Object项是否可以转换为某个类? Is there any method which doesn't throw an exception? 有没有抛出异常的方法?

Yes, Class.isInstance(Object) and the related Class.isAssignableFrom(Class) 是的, Class.isInstance(Object)和相关的Class.isAssignableFrom(Class)

Example: 例:

Object x = "foo";
Integer.class.isInstance(x); // => false
Integer.class.isAssignableFrom(x.getClass()); // => false

Edit : You said "method" so I assumed you meant an API method, but if you know the types at compile-time then you can simply use 编辑 :你说“方法”所以我假设你的意思是一个API方法,但如果你在编译时知道类型,那么你可以简单地使用

x instanceof Integer // => false

(see also What is the 'instanceof' operator used for? ) (另请参阅什么是'instanceof'运算符?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM