4 回答

Genment
TA貢獻(xiàn)43條經(jīng)驗(yàn) 獲得超25個(gè)贊
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); }
以上代碼都可以正常運(yùn)行,int 是可以直接轉(zhuǎn)換為包裝類 Long的,相反則不可以,因?yàn)槿绻梢缘脑?,是?huì)丟失數(shù)據(jù)的,JAVA是不允許這種做法的。
低位數(shù)的int 轉(zhuǎn)換成 高位數(shù)的long 是不需要強(qiáng)制轉(zhuǎn)換的。
long?a?=?100; int?b?=?a;?//?報(bào)錯(cuò),因?yàn)闀?huì)丟失數(shù)據(jù)。 long?a?=?100; int?b?=?(long)a;?//?同樣會(huì)報(bào)錯(cuò),因?yàn)闀?huì)丟失數(shù)據(jù)。 int?a?=?100; long?b?=?a;?//?正常,不會(huì)丟失數(shù)據(jù)。

qyy2499760117_葉子
TA貢獻(xiàn)188條經(jīng)驗(yàn) 獲得超91個(gè)贊
int是小類型,小類型無法直接轉(zhuǎn)換為大類型,需要強(qiáng)制轉(zhuǎn)換, ? ?int a = 91;
// 手動(dòng)裝箱
double b = new Integer(a);
這種大類型轉(zhuǎn)小類型是可以的
添加回答
舉報(bào)
0/150
提交
取消