java 基本数据类型转换

Java中除了基本数据类型以外,有时候也需要把这些基本数据类型当做对象来操作。

java中提供了包装类,可以将对应的基本数据类型转换为类(对象)

 

 比如初学时一直感到很疑惑的int转String和String转int问题,直接强制类型转化为什么不行?

首先int是基本数据类型,而String是引用数据类型,两者从本质上来说,一个是类(对象),一个是数据,自然不能强转。

1:先看int转String。

int是一个基本数据类型,假设int a=3;String s=null;以a代表int数据,s代表字符串

第一种思路,我们先把a也变成一个对象,两者在同一个level上,就可以进行转换了吧。

Integer aa=a;或者Integer.valueof()

相当于创建了一个Interger类对象,使用该对象的ToString,就可以获得对应的字符串

第二种,String类有直接的valueof,可以直接将int转为String。

s=String.valueof(a);

2:String转int也是相同的

(1)Integer.parseInt(str)(new integer=Integer()这种构造方法在高版本的java中已经被@Deprecated,并不推荐使用)

(2)Integer.valueOf(str).intValue()

 

简单来说基本数据类型和String之间需要一个包装类来进行过渡使用,不能直接进行转换。

 注意点:

①获得Integer对象,这个可以直接复制给int,这是jdk1.5以上的自动装箱和拆箱

②-127~128的数字使用Valueof方法时,会自动缓存Integer对象(怪不得打比赛的时候总说java慢,原来这么多骚操作……)

 

posted @ 2020-03-05 16:01  魏晋南北朝  阅读(307)  评论(0编辑  收藏  举报