700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java中int(Integer)类型与long(Long)类型数据的相互转化

Java中int(Integer)类型与long(Long)类型数据的相互转化

时间:2019-08-14 12:28:03

相关推荐

Java中int(Integer)类型与long(Long)类型数据的相互转化

新手开车,先上代码,后边解析!

能看懂代码就不要看解析!

PS:命名规范,i代指int类型,l代指long类型,I代指Integer类型,L代指Long类型,2(transferTo);

// 首先创建四个基本操作对象Long L0 = 123456l;int i0 = 10;Integer I0 = new Integer(10);long l0 = 1234l;// int -> longlong i2l = i0;// 自动转换// long -> intint l2i = (int)l0;// 强转// int/long -> IntegerInteger i2I1 = i0;Integer i2I2 = new Integer(i0);// 自动封箱// Integer l2I1 = new Integer(l0);// 报错Integer l2I2 = new Integer((int)l0);// long类型不能直接转换为Integer类型,中间需要强转一次// int/long -> LongLong i2L = new Long(i0);Long l2L1 = l0;Long l2L2 = new Long(L0);// Integer -> int/longint I2i1 = I0;// 自动拆箱int I2i2 = I0.intValue();// api获取long I2l1 = I0;long I2l2 = I0.longValue();// Long -> int/longint L2i1 = L0.intValue();long L2l1 = L0;long L2l2 = L0.longValue();// Long <-> Integer,不能强制获取,中间需要转换一次Integer L2I1 = L0.intValue();Long I2L1 = I0.longValue();

解析:

int 类型数据转换为:long、Integer、Long ;

int -> long :属于小类型向大类型转换(大小指取值范围),自动转换(大本身包含小范围数据);

int -> Integer :基本数据类型向包装数据类型转换,自动封箱。直接赋值或者new的时候装进去;

int -> Long : 同上。

long 类型数据转换为:int、Integer、Long;

long -> int :大类型向小类型转换,需要强制转换。结果前边加需要的数据类型,如本文强转为int类型 “(int)”;注意,如果需要强转的数据本身超过目标类型范围会出现数据错误,比如byte范围仅为[-128, 127],int类型的128转换为byte数据类型的时候会返回-128,在校范围内循环获取;

long -> Integer : 需要将获取到的long类型数据强转一次再进行封装;

long -> Long :基本数据类型向包装数据类型转换,自动封箱。直接赋值或者new的时候装进去。

Integer 类型数据转换为:int、long、Long;

Integer -> int : 包装数据类型向基本数据类型转换,自动拆箱。可以直接获取值或者调用获取值得api;

Integer -> long :自动拆箱获取对应int类型数据之后会自动转化为long类型;

Integer -> Long : 不能强制或直接获取,中间需要int/long类型作为中间类型过渡。

Long 类型数据转换为:int、long、Integer;

Long-> int : 包装数据类型向小范围的基本数据类型转换,自动拆箱之后需要强制转换。或者调用获取值得api;

Long -> long : 包装类型转基本类型,自动拆箱;

Long -> Integer :不能强制或直接获取,中间需要int/long类型作为中间类型过渡。

工作的时候由于两个项目的对接没有做好,导致有个字段数据类型不一致(一边定义为Integer,一边定义为Long),试了几次都不能强制转换,专门上网搜了一下,引以为戒!

参考文献:/u014039577/article/details/37925611

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。