在某些情况下,使用类型转换返回null值而不是抛出ClassCastException是可行的。C#让as
操作员执行此操作。Java中是否有可用的等效项,因此您不必显式检查ClassCastException?
这是@Omar Kooheji建议的as的实现:
public static <T> T as(Class<T> clazz, Object o){
if(clazz.isInstance(o)){
return clazz.cast(o);
}
return null;
}
as(A.class, new Object()) --> null
as(B.class, new B()) --> B
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句