4.1基本数据类型包装类
有时我们需要将基本类型的数据构成一个对象来使用,有时要将对象中保存的基本数据类型的数据提取出来,这种基本数据类型数据与对象类型数据的相互转换,就需要基本数据类型的包装类。
- 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作数据
Java会为每一个基础数据类型都提供一个相应包装类的目的,在于将Java的所有东西都抽象成对象,可以更方便的控制和使用。这就是面向对象!
1. 基本数据类型及其包装类
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Interger |
long | Long |
char | Character |
boolean | Boolean |
float | Float |
double | Double |
基本数据类型包装类的常见作用-用于基本数据类型数据与字符串之间进行相互转换!
创建包装类的对象有两种方法
1. 包装类的构造方法
方法名 | 参数类型 |
---|---|
public Byte(byte value) | byte |
public Byte(String s) | String |
public Interger(int value) | int |
public Interger(String s) | String |
public Double(double value) | double |
public Double(String s) | String |
Long,Short,Character,Boolean,Float也一样! |
构造方法使用示例
public class A {
public static void main(String args[]){
Byte bw=new Byte("12");
System.out.println(bw);
//这里使用的是public Byte(String s)方法,将String中的基本数据类型数据转换为byte类型数据。
}
}
/////////////////////////
public class A {
public static void main(String args[]){
byte b=12;
Byte bw=new Byte(b);
System.out.println(bw);
//这里使用Byte(byte value)构造方法
}
}
2. 静态工厂方法
除了使用构造方法来创建包装类的对象还可以使用valueof()方法,此方法是静态的,可以直接通过类名来访问。
方法名 | 说明 |
---|---|
valueof(基本数据类型) | 将基本数据类型封装成相应的包装类对象 |
valueof(String s) | 将字符串中的基本数据类型数据封装成相应的包装类对象Character无此类方法 |
valueof(String s,int i) | 将字符串中的基本数据类型数据封装成相应的包装对象,字符串中的数据是变量i所指定的进制数 |
- 静态方法使用示例
public calss A{
public static void main(String args []){
Integer a=Integer.valueof(12);//创建对象并进行初始化值12
System.out.println("Integer类型对象中封装的值为:"+a);
Integer b=Interger.valueof("15");
System.out.println("Integer类型对象中封装的值为:"+b);
Integer c=Integer.valurof("105",8);
System.out.println("Integer类型对象中封装的值为:"+c);
}
}
////////
结果为:
Integer类型对象中封装的值为:12
Integer类型对象中封装的值为:15
Integer类型对象中封装的值为:69
包装类的主要作用:字符串与基本数据类型的相互转换。
1.获取基本数据类型
将包装类对象中的基本数据类型提取出来,使用 XXXValueof()方法。public char charValueof()
- public int intValueof()
- public double doubleValueof()
…..
示例:
public class A{
public static void main(String args[]){
Double a=new Double(12.89);
System.out.println("byteValue:"+a.byteValue());
System.out.println("intValue:"+a.intValue());
Character b=new Character('A');
System.out.println("charValue:"+b.charValue());
}
}
2.将基本数据类型转换为字符串
- 基本数据类型+”“。
使用String类中的valueOf()方法。(注意O为大写)
示例
public class A {
public static void main(String args[]){
int a =100;
String s=a+"";//基本数据类型+""
System.out.println(s);
}
}
////////////////////////////////
public class A {
public static void main(String args[]){
int a=100;
String s=String.valueOf(a);//String中的valueOf()方法
System.out.println(s);
}
}
3.提取字符串中的基本数据类型
包装类中的静态方法public static xxx parseXxx(String s),可以将字符串中的基本数据类型提取出来。
示例
public class A {
public static void main(String args[]){
double d=Double.parseDouble("12.75");//字符串的内容必须符合基本数据类型格式
System.out.println(d);
int i=Integer.parseInt("15",8);//Integer包装类直接调用parseInet()方法
System.out.println(i);
boolean b=Boolean.parseBoolean("TRUE");
System.out.println(b);
}
}
//////////
结果为:
12.75
13
TRUE
静态toString()方法
每种基本和数据类型都有一个静态toString()方法public static String toString(xxx c)功能为返回xxx类型的值
示例
public claass A{
public static void main(String args[]){
String s=Integer.toString(12);//调用Integer类的toString方法并初始化值赋给s
int i=new Integer.parseInt(s);//提取字符串中的基本数据类型值并赋给i
Integer iw=new Integer(i);//创建了一个Integer包装类对象并初始化值为i
System.out.println(iw);//iw为引用类型输出时调用其所指向的对象
}
}
在输出语句System.out.println(i)中,如果i为基本类型,则输出i的基本类型值;如果i为引用类型,如果引用为空则输出值为null,否则调用引用所指向的对象