猿问

int无法直接转换为包装类Long?

慕运维6449622
浏览 2103回答 4
4回答

Genment

public static void main(String []args){        int a = 22;        long b = 33;        Long c = new Long(a);        Long d = new Long(b);                Integer i = new Integer(44);        Long e = new Long(i); }以上代码都可以正常运行,int 是可以直接转换为包装类 Long的,相反则不可以,因为如果可以的话,是会丢失数据的,JAVA是不允许这种做法的。低位数的int 转换成 高位数的long 是不需要强制转换的。long a = 100; int b = a; // 报错,因为会丢失数据。 long a = 100; int b = (long)a; // 同样会报错,因为会丢失数据。 int a = 100; long b = a; // 正常,不会丢失数据。

流逝的回忆已成空白

哎~ 讲过了都忘了!怎么就记不住呢、?

qyy2499760117_叶子

int是小类型,小类型无法直接转换为大类型,需要强制转换,    int a = 91;// 手动装箱double b = new Integer(a);这种大类型转小类型是可以的

绿洲仙人球

恩,同意楼上,手动为楼上点赞
随时随地看视频慕课网APP

相关分类

Java
我要回答