如何在 Java 中将 int 转换为 Long?

2022-01-14 00:00:00 int casting long-integer java

我一直在这里和谷歌上发现从 longint 而不是相反的问题.但我确信在从 intLong 之前遇到这种情况的人不止我一个.

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.

相关文章