java的包装类(基本数据类型的进化版)
我们都知道有8种基本数据类型,经过面向对象的学习,我们在很多地方都发现了包装类的身影,说实话,包装类就是基本数据类型的进化版,同时,当我们真正得到包装类时,我们才可以说是真正的面向对象。如下表就是各个基本数据类型的对应关系:
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
上表中的前6个的父类是number。
java提供了8种基本数据类型对应的包装类,使得基本数据类型具有类的特征。也就是给他升个级,以后打怪更方便更快。
ok,接下来我来说明基本数据类型,包装类和string型的相互转化:
一.基本数据类型—>包装类
格式:包装类 对象=new 包装类(参数);
特例:
Float m1=new Float(12.3f);
Float m2=new Float("12.3");
Boolean b1=new Boolean(true);
Boolean b2=new Boolean("TrUe");
Boolean b3=new Boolean("tRue");
布尔类型的会自己判断true,大小写无影响(用了 equalsIgnoreCase),所以最后三个结果一样;
float型的可以转化字符的小数。
!!!还有一个需要注意:
首先我先弄个类,注意字母的大小写:
public class Testmoster {
boolean ishero; //数据类型
Boolean ismoster; //包装类
}
public class ishero {
public static void main(String[] args) {
Testmoster o2=new Testmoster();
System.out.println(o2.ishero); //输出结果是false
System.out.println(o2.ismoster); //输出结果是null
}
}
二.包装类—>基本数据类型
这个我熟,只要用一个XXXValue ( )就可以。
如下:
Integer in1=new Integer(12);
int F1=int intValue() ;
其实叭,上面说的在真正实践中使用比较少,我们在jdk5.0后就有了“自动化”
的工具:自动装箱和自动拆箱。那么何为自动?瞅下例:
int num1=10;
Integer num2=num1; //自动装箱
boolean b1=true;
Boolean b2=b1; //自动装箱
这就是自动的力量!
然后下面是自动拆箱:
//接着上例写
int num3=num2; //直接写就完事(自动拆箱)
很重要!!!
自动装箱就是:包装类 标识符=需要包装的标识符;
自动拆箱就是:基本数据类型 标识符=需要拆的标识符;
三.基础数据类型,包装类—>String类型
法一:
int num1=10;
String str1=num1+"";
法二:
float f1=12.3f;
String str2=String.Valueof(f1);
二者会一就好。
四.String—>基本数据类型,包装类
只能用parseXXX(需要转化的变量)(XXX表示基本数据类型)
String str1="123";
int num2= Integer.parseInt(str1);