如何在 Java 中将 int 转换为 Long?
我一直在这里和谷歌上发现从 long
到 int
而不是相反的问题.但我确信在从 int
到 Long
之前遇到这种情况的人不止我一个.
I keep finding both on here and Google people having troubles going from long
to int
and not the other way around. Yet I'm sure I'm not the only one that has run into this scenario before going from int
to Long
.
我发现的唯一其他答案是首先将其设置为 Long",这确实没有解决问题.
The only other answers I've found were "Just set it as Long in the first place" which really doesn't address the question.
我最初尝试强制转换,但得到Cannot cast from int to Long
"
I initially tried casting but I get a "Cannot cast from int to Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
你可以想象我有点困惑,我被困在使用 int
因为一些内容是作为一个 ArrayList
和我的实体进入的m 存储此信息需要序列号为 Long.
As you can imagine I'm a little perplexed, I'm stuck using int
since some content is coming in as an ArrayList
and the entity for which I'm storing this info requires the sequence number as a Long.
推荐答案
请注意,转换为 long
和转换为 Long
之间存在差异.如果你转换成 long
(一个原始值),那么它应该被自动装箱成一个 Long
(包装它的引用类型).
Note that there is a difference between a cast to long
and a cast to Long
. If you cast to long
(a primitive value) then it should be automatically boxed to a Long
(the reference type that wraps it).
您也可以使用 new
创建 Long
的实例,并使用 int
值对其进行初始化.
You could alternatively use new
to create an instance of Long
, initializing it with the int
value.
相关文章