4 回答
Genment
TA贡献43条经验 获得超25个赞
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_叶子
TA贡献188条经验 获得超91个赞
int是小类型,小类型无法直接转换为大类型,需要强制转换, int a = 91;
// 手动装箱
double b = new Integer(a);
这种大类型转小类型是可以的
添加回答
举报
0/150
提交
取消