我一直发现这里和谷歌上的人都有从long到int的麻烦,而不是相反。然而,我确信我不是唯一一个在从int型转向Long型之前遇到这种情况的人。

我找到的唯一其他答案是“一开始就把它设置为长”,这并没有解决这个问题。

我最初尝试了类型转换,但我得到了一个“不能从int类型转换为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,因为一些内容是作为一个数组列表进来的,而我存储这个信息的实体需要序列号作为一个长。


当前回答

如何

int myInt = 88;

//不编译

Long myLong = myInt;

//编译,并保留int的非null精神。最好的演员阵容根本就是没有演员阵容。当然,您的用例可能需要长值和可能的NULL值。但如果int或其他长类型是您唯一的输入,并且您的方法可以修改,我建议使用这种方法。

long myLong = myInt;

//编译,是最有效的方法,并且清楚地表明源值永远不会为NULL。

Long myLong = (long) myInt;

其他回答

如果你已经有int类型为Integer,你可以这样做:

Integer y = 1;
long x = y.longValue();
 //Suppose you have int and you wan to convert it to Long
 int i=78;
 //convert to Long
 Long l=Long.valueOf(i)
 1,new Long(intValue);
 2,Long.valueOf(intValue);

从Android Studio lint check:删除不必要的装箱:所以,unboxing是:

public  static  long  integerToLong (int minute ){
    int delay = minute*1000;
    long diff = (long) delay;
    return  diff ; 
}

除了这里建议的其他方法外,还可以尝试下面的代码。

(long)intValue

原始到原始。