将Integer
分配给int
时是否有任何问题(当然是运行时间)?
int x= Integer.class.cast(parameters.get("PO_PAGE_CNT"));
由于Integer
是父类,而int是实例,我想在某些情况下我可能会在运行时获得ClassCastException
或其他类型的异常。是不是?
答案 0 :(得分:1)
假设parameters.get("PO_PAGE_CNT")
返回Integer
的实例,则此分配没有问题。
简单地写下来会更具可读性:
int x = (Integer) parameters.get("PO_PAGE_CNT");
int总是可以分配给Integer(Boxing),反之亦然(Unboxing)。
答案 1 :(得分:1)
答案 2 :(得分:1)
不,没有问题。整数值自动取消装箱到int值,反之亦然。
但有一个例外。如果parameters.get("PO_PAGE_CNT")
返回null
,您将获得NullPointerException
,因为没有int
等同于null
。
答案 3 :(得分:1)
没有问题。你是拳击和拆箱整数。如果要将整数解包为int
,则不会出现 ClassCastException