java-----基本数据类型包装类

目的:为了方便操作基本数据类型值,将其封装为对象,在对象定义了属性和行为,丰富了改数据的操作,用于描述该对象的类也就成为基本数据类型对象包装类。

例如:int类型的取值范围:Integer------>Integer.MAX_VALUE

8种数据类型包装类:

byte ——Byte
short ——Short
int ——Integer
long-----Long
float-----Float
double----Double 
char----Character
boolean---Boolean
 
该包装对象主要用于基本数据类型和字符串之间的转换,
基本数据类型->字符串的三种方式:
(1)基本数据类型值+""
(2)使用Interger的静态方法:static String toString(基本数据类型值)
(3)使用String类的静态方法static String valueOf(基本数据类型值)
字符串->基本数据类型
(1)使用包装类中的静态方法 XXX parseXXX(XXX类型字符串)
  int parseInt(int型字符串);
  long parseLong(Long型字符串);
  boolean parseBoolean(Boolean型字符串);例如:if(Boolean.parseBoolean("true"));
  tip:只有character没有parse方法。(2)如果字符串被Integer进行对象的封装,可使用另一个非静态的方法,intValue(),将一个Integer对象转化成基本数据类型值
  Integer i=new Integer("123");
      sysout("i.intValue");
进制转化问题:
(1)十进制转化为其他进制
  二进制:static String toBinaryString(int);
  16进制:static String toHexString(int);
  八进制:static String toOctalString(int);
(2)其他进制的转化:
  Integer.toString(n,m)
  n是数,m是进制数,可以是(toBinaryString)2->2进制,(toHexString)16->16进制,(toOctalString)8->8进制,
  Integer.parseInt("A",B)
  将数值A转化为十进制,其中B可以为二进制,可以为八进制,可以为十六进制,只要写B对应于相应的数字即可(2,8,16)
    
装箱和拆箱:Integer i= new Integer(4);
Integer i=4;->1.5之后的新特性,自动装箱,与上式等价
i=i+6;->自动拆箱,等价于i=new Integer(i.intValue()+6);
 
关于装箱和拆箱的1.5的新特性
Integer a =new Integer(127);
Integer b =new Integer(127);
a==b;  //false
a.equals(b);  //true

Integer x=127;
Integer y=127;
x==y;  //true
x.equals(b); //ture

 

Integer a =new Integer(128);
Integer b =new Integer(128);
a==b;  //false
a.equals(b);  //true

Integer x=128;
Integer y=128;
x==y;  //false
x.equals(b); //ture

 原因:jdk1.5之后自动装箱,如果装箱的是一个字节,那么该数据会被共享不回重新开辟空间。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2016-10-12 15:43  nolonely  阅读(184)  评论(0编辑  收藏  举报