Java 将整型赋值给int

Java 将整型赋值给int,java,types,casting,type-conversion,Java,Types,Casting,Type Conversion,将Integer分配给int时是否有任何问题(当然是运行时) int x= Integer.class.cast(parameters.get("PO_PAGE_CNT")); 由于Integer是父类,int是实例,我想在某些情况下,我可能会在运行时得到ClassCastException或其他类型的异常。是否正确?假设parameters.get(“PO_PAGE_CNT”)返回整数的实例,则此赋值没有问题 简单地写下以下内容会更具可读性: int x = (Integer) parame

Integer
分配给
int
时是否有任何问题(当然是运行时)

int x= Integer.class.cast(parameters.get("PO_PAGE_CNT"));

由于
Integer
是父类,int是实例,我想在某些情况下,我可能会在运行时得到
ClassCastException
或其他类型的异常。是否正确?

假设
parameters.get(“PO_PAGE_CNT”)
返回
整数的实例,则此赋值没有问题

简单地写下以下内容会更具可读性:

int x = (Integer) parameters.get("PO_PAGE_CNT");

int始终可以分配给Integer(装箱),反之亦然(取消装箱)。

假设
parameters.get(“PO\u PAGE\u CNT”)
返回
Integer的实例,则此分配没有问题

简单地写下以下内容会更具可读性:

int x = (Integer) parameters.get("PO_PAGE_CNT");

整数总是可以分配给整数(装箱),反之亦然(取消装箱)。

没问题。有一个叫做装箱和拆箱的概念。您可以按此操作。

没问题。有一个叫做装箱和拆箱的概念。您可以按此操作。

不,没有问题。整数值将自动取消绑定为int值,反之亦然


但有一个例外。如果
parameters.get(“PO\u PAGE\u CNT”)
返回
null
,您将得到
NullPointerException
,因为没有与
null
等效的
int

不,没有问题。整数值将自动取消绑定为int值,反之亦然


但有一个例外。如果
parameters.get(“PO\u PAGE\u CNT”)
返回
null
,您将得到
NullPointerException
,因为没有与
null
等效的
int

没有问题。您正在装箱和取消装箱整数。如果您将整数解装箱为int,则不会出现ClassCastException,这没有问题。您正在装箱和取消装箱整数。除非使用非常旧的JDK,
cast
的返回值将自动取消对int的绑定,否则将不会有ClassCastException如果您将Integer解包为int,那么一切都会很好…您可以只使用
(int)参数。get(“PO_PAGE_CNT”)
。更好的是。。。你不必强制转换,你可以
intx=parameters.get(“PO_PAGE_CNT”)
@Jonk那么新的jdk会发生什么呢?他们不能自动拆箱吗?因为哪个版本不支持此功能?我想你可能误解了我的意思-所有较新的JDK都将自动取消装箱,这将很好地工作。这不适用于非常旧的JDK(1.5之前)。除非您使用非常旧的JDK,否则
cast
的返回值将自动取消装箱到int,一切都会很好…您只需
(int)参数。get(“PO_PAGE_CNT”)
。更好的是。。。你不必强制转换,你可以
intx=parameters.get(“PO_PAGE_CNT”)
@Jonk那么新的jdk会发生什么呢?他们不能自动拆箱吗?因为哪个版本不支持此功能?我想你可能误解了我的意思-所有较新的JDK都将自动取消装箱,这将很好地工作。这是非常旧的JDK(1.5之前的版本),无法使用。这里的所有答案都是正确的。但是由于你提到了一个例外,我选择了你的作为正确和更完整的答案这里所有的答案都是正确的。但是由于你提到了一个例外,我选择你的作为正确和更完整的答案