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慢,原来这么多骚操作……)

猜你喜欢

转载自www.cnblogs.com/wjune-0405/p/12420759.html