Java 中的包装类
2017-07-21 21:26
169 查看
一、Java 中的包装类
1、在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入,又如,基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象(装箱),同样,引用数据类型的对象变成基本数据类型的值叫做(拆箱)将在Java中,每种基本类型都有对应的包装类。这样我们就可以像操作对象那样来操作基本数据类型。
包装类如下:
注意:所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
2、装箱:以Integer为例:
Integer(int value) : 创建一个Integer对象,表示int的值
Integer(String s) : 创建一个Integer对象,表示String参数所指示的int值
3、拆箱:以Integer为例:xxxValue()将Integer包装类转换为xxx类型
4、自动装箱:(5.0之后,操作更方便)
6、自动装拆箱实例:
public class Test{
public static void main(String args[]){
Integer x = 5;
x = x + 10;
System.out.println(x);
}
}
//结果:15当 x 被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。
7、包装类的常用方法,以Integer包装类为例:
综合实例:
二、Java中基本类型和字符串之间的转换
基本类型转换为字符串有三种方法:
1. 使用包装类的 toString() 方法
2. 使用String类的 valueOf() 方法
3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
将字符串转换成基本类型有两种方法:
1. 调用包装类的 parseXxx 静态方法,Xxx 可以是
2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱,除了Character外,包装类都有valueOf(String)方法
综合实例如下:
1、在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入,又如,基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象(装箱),同样,引用数据类型的对象变成基本数据类型的值叫做(拆箱)将在Java中,每种基本类型都有对应的包装类。这样我们就可以像操作对象那样来操作基本数据类型。
包装类如下:
注意:所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
byte | Byte | long | Long |
char | Character | float | Float |
int | Integer | double | Double |
short | Short | boolean | Boolean |
Integer(int value) : 创建一个Integer对象,表示int的值
Integer(String s) : 创建一个Integer对象,表示String参数所指示的int值
Integer a1=new Integer(22);//装箱,创建Integer包装类对象,表示变量a的值 Integer b1=new Integer("22");//装箱,创建Integer包装类对象,值为22
3、拆箱:以Integer为例:xxxValue()将Integer包装类转换为xxx类型
int a2=a1.intValue();// 拆箱,将Integer包装类转换为int类型
4、自动装箱:(5.0之后,操作更方便)
double a = 22.2; Double b = new Double(a); // 手动装箱 Double c = a; // 自动装箱5、自动拆箱:
Double d = new Double(22.2); double e = d.doubleValue();// 手动拆箱 ; double f =d;// 自动拆箱
6、自动装拆箱实例:
public class Test{
public static void main(String args[]){
Integer x = 5;
x = x + 10;
System.out.println(x);
}
}
//结果:15当 x 被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行加运算,所以要对x进行拆箱。
7、包装类的常用方法,以Integer包装类为例:
返回值 | 方法名 | 解释 |
byte | byteValue() | 将Integer转换成byte类型 |
int | intValue() | 将Integer转换成int类型 |
double | doubleValue() | 将Integer转换成double类型 |
float | floatValue() | 将Integer转换成float类型 |
long | longValue() | 将Integer转换成long类型 |
static int | parseInt(String s) | 将Integer转换成int类型 |
static Integer | valueOf(String S) | 将字符串转换成指定String值的Integer对象 |
static Integer | valueOf(int i) | 将int型值转换成指定int值的Integer实例 |
String | toString() | 转换成字符串类型 |
String | toBinaryString(int i) | 以二进制无符号整数的形式返回一个整数参数的字符串 |
String | toHexString(int i) | 以十六进制无符号整数形式返回一个整数参数的字符串 |
String | toOctalString(int i) | 以八进制无符号整数形式返回一个整数参数的字符串 |
public class Boxample { public static void main(String[] args){ Integer a1=new Integer(22);//装箱,创建Integer包装类对象,表示变量a的值 Integer a2=new Integer("22");//装箱,创建Integer包装类对象,值为22 Integer b1=Integer.valueOf(24); //装箱,创建Integer包装类对象,值为24 Integer b2=Integer.valueOf("24"); //装箱,创建Integer包装类对象,值为24 Double d=Double.valueOf("26"); //装箱,创建Double包装类对象,值为26 int c=a1.intValue();// 拆箱,将Integer包装类转换为int类型 double c1=a1.doubleValue();// 将Integer包装类转换为double类型 float c2=a1.floatValue();// 将Integer包装类转换为float类型 String c3=a1.toString();//将Integer的值以字符串的形式打印出来 System.out.println("Integer(22)包装类:" +a1); System.out.println("Integer(\"22\")包装类:" +a2); System.out.println("valueOf(24)包装:" +b1); System.out.println("valueOf(\"24\")包装:" +b2); System.out.println("valueOf(\"26\")包装,Double:" +d+"\n"); System.out.println("int类型:" + c); System.out.println("double类型:" + c1); System.out.println("float类型:" + c2+"\n"); System.out.println("toString()将Integer的值以字符串的形式打印出来:" + c3); } } /*结果: Integer(22)包装类:22 Integer("22")包装类:22 valueOf(24)包装:24 valueOf("24")包装:24 valueOf("26")包装,Double:26.0 int类型:22 double类型:22.0 float类型:22.0 toString()将Integer的值以字符串的形式打印出来:22 */
二、Java中基本类型和字符串之间的转换
基本类型转换为字符串有三种方法:
1. 使用包装类的 toString() 方法
2. 使用String类的 valueOf() 方法
3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
double m = 78.5; String str1 = Double.toString(m); String str2 = String.valueOf(m); String str3 = m +" ";
将字符串转换成基本类型有两种方法:
1. 调用包装类的 parseXxx 静态方法,Xxx 可以是
2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱,除了Character外,包装类都有valueOf(String)方法
String str = "180.20"; double a1 = new Double(str); double a2 = Double.valueOf(str); double a3 = Double.parseDouble(str);
综合实例如下:
public class Integerlei{
public static void main(String[] args) {
String n="100";
System.out.println("String型n与整数20的求和结果为: "+(n+20)+"\n");
//将基本类型转换为字符串
System.out.println("将基本类型转换为字符串----------");
double m = 78.5; String str1 = Double.toString(m); String str2 = String.valueOf(m); String str3 = m +" ";
System.out.println("toString() 方法 "+(str1+20));//相当于两个字符串相连接
System.out.println("valueOf() 方法: "+(str2));
System.out.println("空字符串加上基本类型方法:"+(str3)+"\n");
// 将字符串转换为基本类型
System.out.println("将字符串转换为基本类型----------");
String str = "180.20"; double a1 = new Double(str); double a2 = Double.valueOf(str); double a3 = Double.parseDouble(str);
System.out.println("自动拆箱方法: "+(a2));
System.out.println("valueOf() 方法: "+(a2));
System.out.println("parseDouble() 方法: "+(a3));
System.out.println("str 转换为double型后与整数20的求和结果为: "+(a2+20));
}
}
/*结果:
String型n与整数20的求和结果为: 10020
将基本类型转换为字符串----------
toString() 方法 78.520
valueOf() 方法: 78.5
空字符串加上基本类型方法:78.5
将字符串转换为基本类型----------
自动拆箱方法: 180.2
valueOf() 方法: 180.2
parseDouble() 方法: 180.2
str 转换为double型后与整数20的求和结果为: 200.2
*/
相关文章推荐
- java 包装类的缓存机制
- Java自动装箱和拆箱,包装类缓存机制和JVM调节
- Java学习笔记(八)--基本数据类型包装类 Math类 Random类 Date类
- JAVA笔记8__内部类/链表的实现/包装类、享元设计模式/包、访问修饰符
- java基础数据类型包装类
- 关于JAVA中包装类的是什么类型传递这个问题的笔记
- java中的包装类和异常
- java 中包装类
- java中Integer包装类的详细讲解(java二进制操作,所有进制转换)
- JAVA基础--db14_java基本类型包装类_集合框架
- Java学习--Java 中的包装类
- Java常用API (四) 包装类
- Java包装类 匿名类
- Java的8种包装类:Wrapper Class
- java之数据包装类和封装类于开发中的注意事项
- java中包装类及装箱拆箱
- 别说你不知道java中的包装类,wrapper type,以及容易在自动拆箱中出现的问题
- Java基础进阶_day06_(Object,常用类,包装类,正则表达式)
- JAVA中的必须知道的常用类!(包装类,Date类,Calendar类,Math类)
- java-----基本数据类型包装类