【发布时间】:2015-01-15 17:37:22
【问题描述】:
将Integer 分配给int 是否有任何问题(当然是运行时间)?
int x= Integer.class.cast(parameters.get("PO_PAGE_CNT"));
由于Integer 是父类而int 是实例,我想在某些情况下我可能会在运行时得到ClassCastException 或其他类型的异常。对吗?
【问题讨论】:
-
除非您使用的是非常旧的 JDK,否则
cast的返回值将自动拆箱为 int,一切都会好起来的... -
你可以
(int) parameters.get("PO_PAGE_CNT")。更棒的是……你不用投,你可以int x = parameters.get("PO_PAGE_CNT") -
@Jonk 以及较新的 JDK 会发生什么?他们不能自动拆箱?从什么版本开始不支持这个功能?
-
我想你可能误解了我的意思——所有较新的 JDK 都会自动拆箱,这样可以正常工作。这是真正旧的 JDK(1.5 之前),这将无法正常工作。
标签: java types casting type-conversion