Gho*_*sty 207 java int casting long-integer
我一直在这里找到这两个人,谷歌的人有麻烦long,int而不是相反.但我敢肯定,我不是以前已经从去碰到这种情况的唯一一个int到Long.
我发现的唯一其他答案是"首先将它设置为Long",这实际上并没有解决这个问题.
有人可以帮帮我吗?我最初尝试铸造,但我得到一个" 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);
}
Run Code Online (Sandbox Code Playgroud)
你可以想象我有点困惑,因为有些内容是以ArrayList形式出现的,所以我坚持使用int,我存储此信息的实体需要序列号为Long.
谢谢!
Dan*_*ker 234
请注意,施法者long与施法者之间存在差异Long.如果你转换为long(一个原始值),那么它应该自动装箱到Long(包装它的引用类型).
您也可以使用new创建实例Long,并使用int值初始化它.
ser*_*erg 184
使用以下内容:Long.valueOf(int);.
sar*_*ret 16
如果您已将int类型化为Integer,则可以执行以下操作:
Integer y = 1;
long x = y.longValue();
Run Code Online (Sandbox Code Playgroud)
小智 11
使用
new Long(your_integer);
Run Code Online (Sandbox Code Playgroud)
要么
Long.valueOf(your_integer);
Run Code Online (Sandbox Code Playgroud)
我有这个小玩具,也处理非通用接口.如果输入错误,我可以抛出ClassCastException(OK和happy)
public class TypeUtil {
public static long castToLong(Object o) {
Number n = (Number) o;
return n.longValue();
}
}
Run Code Online (Sandbox Code Playgroud)
在Java中,您可以执行以下操作:
int myInt=4;
Long myLong= new Long(myInt);
Run Code Online (Sandbox Code Playgroud)
在您的情况下,它将是:
content.setSequence(new Long(i));
Run Code Online (Sandbox Code Playgroud)
怎么样
int myInt = 88;
Run Code Online (Sandbox Code Playgroud)
//不会编译
Long myLong = myInt;
Run Code Online (Sandbox Code Playgroud)
//编译,并保留int的非NULL精神。最好的演员根本没有演员。当然,您的用例可能需要Long和可能的NULL值。但是,如果int或其他long是您唯一的输入,并且您的方法可以修改,我建议您采用这种方法。
long myLong = myInt;
Run Code Online (Sandbox Code Playgroud)
//编译是最有效的方法,它可以清楚地表明源值是且永远不会为NULL。
Long myLong = (long) myInt;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
584538 次 |
| 最近记录: |