包装类:
包装类的功能都是针对基本数据类型而定的
1认识包装类:
Object类是所有类的父类,可以接收所有数据类型, 例如 int i=10 Object obj=i; Object obj=10; 把一个int类型的常量10 赋值给 Object 类型, 基本数据类型不是一个类 ,在向上转型之前都会把基本数据类型进行包装
范例:实现一个包装类 int类型为例
package org.ints;
public class Int { //包装一个基本数据类型 private int data;
public Int(int data) {
this.data=data; }
//取出基本数据类型 public int intValue() {
return this.data; } }
|
对于基本数据类型的包装类,一共八种:
1 int Integer
2 double Double
3 float Float
4 char Character
5 short Short
6 byte Byte
7 long Long
8 boolean Boolean
Number是一个抽象类,Number表示的是一个数值类的概念,它的子类都用于表示数值该类存在如下方法:
Byte short long int double float
public byte XXXValue() 返回基本数据类型 拆箱操作
包装类的 装箱与拆箱:
装箱操作: 基本数据类型变为包装类
Integer n=new Integer(10); |
拆箱操作: 把包装类变为基本数据类型
int m=n.intValue(); //拆箱操作 |
数值型的包装类 拆箱的操作都是由Number类定义好的
在JDK1.5之后增加新功能 自动装箱 与自动拆箱
1 自动装箱:
Integer n=10; //自动装箱操作 10 基本数据类型 赋值给一个包装类 |
2 自动拆箱
Integer n=10; //自动装箱操作 10 基本数据类型 赋值给一个包装类 System.out.println(n+20); //自动拆箱 |
数据类型的转换:
使用包装类还有一个特点就是可以使用类的功能完成类型的转换 例如实现 字符串与数据类型之间的转换
Integer类
1public static int parseInt(String s) throws NumberFormatException 字符串转换为int 准换的字符串必须是数字
范例:实现字符串转换为int
int a=Integer.parseInt("123");
System.out.println(a+123); |
Double类: public static double parseDouble(String s) throws NumberFormatException
Boolean类 public static boolean parseBoolean(String s)
boolean flag=Boolean.parseBoolean("false"); System.out.println(flag); |
在面试题:Boolean在进行转换的时候如果给定不是true 或者 false 转换的内容会为false 默认值 不会出现异常
基本数据类型转换为字符串:
两种方式:
1 进行字符串的拼接: hello+10 = “hell10” 字符串类型
2 public static String valueOf(xxx i) xxx代表数据类型 把其他数据类型转换为String
String str=String.valueOf(10); System.out.println(str+10); |