在Java中,这两种类型转换方式有什么区别?
(CastingClass) objectToCast;
CastingClass.class.cast(objectToCast);
Class#cast(Object)
的源代码如下:
public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException();
return (T) obj;
}
所以,
cast
基本上是强制转换操作的一种通用包装器,但我仍然不明白为什么需要一个方法来实现它。
cast
将基本类型转换为其包装器。例如:Integer i = int.class.cast("1234");
- Ben SimmonsInteger.valueOf("1234")
。 - Ben Simmons