Java基础11:Wrapper包装类

来源:互联网 发布:程序员简历怎么写 编辑:程序博客网 时间:2024/05/16 05:23

前言:Java语言是一个面向对象的语言,但是其中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样和八个基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。


一、Wrapper类概述

1、基本类型的包装类均位于java.lang包。之所以这么包装,是因为在Java中有些地方只能使用Object来运行。比如ArrayList类中的add(Object obj)方法中只能传入Object类,而在这里基本数据类型就可先转化为包装类,而包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变。

2、包装类的继承关系:除了Boolean、Character类型直接继承object类,其他:Byte、Short、Integer、Long、Float、Double都是继承Object的子类Number。

3、基本类型和对应的包装类可以相互装换

  • 由基本类型向对应的包装类转换称为装箱,例如把int包装成 Integer类的对象;
  • 包装类向对应的基本类型转换称为拆箱,例如把Integer类的对象重新简化为int。
  • Java 5.0增加了自动装箱和拆箱,程序员过去需手工执行的许多包装操作,现在可以由Java自动处理了。



二、Java中的包装器类有两个主要的目的:
  1. 提供一种机制,将基本数值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,比如添加到Collections 中,或者从带对象返回值的方法中返回。
  2. 为基本数值提供分类功能。这些功能大多数于各种转换有关:在基本数值和String对象间相互转换,在基本值和String对象之间按不同基数转换,如二进制、八进制和十六进制。

三、包装类使用(以Integer为例)

1、通用方法

①构造函数:

a.参数为基本数据值:Integer ig=new Integer(10); //int转化为Integer包装类
b.参数为字符串:Integer ig =new Integer("10"); //String转化为Integer包装类
②Integer valueOf(10)
Integer ig=Integer.valueOf(10);//返回一个指定int值的Integer对象
③Integer valueOf(String str)
Integer ig = Integer.valueOf("10");//返回一个指定String值的Integer对象
④hasCode()  //返回对象的哈希表码  
⑤equals()   //比较两个对象是否相同 
int num = ig.intValue();//引用变量转化为基本类型,得到对象封装的基本数值


static int parseInt(String str)

int i =ig.parseaInt("10");//字符串转化为基本数据类型
⑧int parseInt("10");
int i =ig.parseaInt("10");//字符串转化为基本数据类型
toString();     //将包装类转化为字符串

2、将整数num转化成二进制、八进制或十六进制形式的字符串的类方法
static String toBinaryString(int num);   //十进制转化为二进制,并保存为String 
static String toHexString(int num) ;    //十进制转化为十六进制,并保存为String 
static String toOctalString(int num) ;  //十进制转化为八进制,并保存为String 



原创粉丝点击