繁体   English   中英

长整数整数转换

[英]Long and Integer class cast

我有一个简单的问题。 我已经知道在Java中您不能做某事:

Long.class.cast(and Integer here)

但我很好奇为什么? 相反,您很容易陷入溢出,但是这种方式我无法发现可能发生的任何不良情况。 谁能告诉我以这种方式使用投射有什么问题吗?

编辑->

所以我正在尝试做。 我已经写了一个转换器,将我从提供的输入(它是一个Map)转换成我的模型。 我想为我指定的每个模型编写1个转换器。 目前,它适用于其中的对象(例如我提供的其他模型),字符串和相同的类型(例如,我有一个整数,我提供了一个整数)。 我想做的是,我想“更新”转换器以使其在以下情况下工作:在我的模型中,我有一个Long类型的字段,并且我提供了Integer。 因此,我希望将Integer转换为Long,但是,我不想仅在这种情况下使用(因为在这种情况下,例如从Short转换为Long会是另外一种情况)。 可能吗?

因为Object.cast(Object obj)不仅仅用于数字。 用于类型转换。

如果对象不为null且不能分配给Long类型,则将引发ClassCastException

您可以使用以下命令:

Integer integer = 1;

Long l = integer.longValue();

或者您可以在LongInteger上调用longValue ,然后使用Long.class.cast

Integer integer = 1;
Long longType = 1L;

Long l = Long.class.cast(longType.longValue());
l = Long.class.cast(integer.longValue());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM