黑马程序员——java中数据类型包装类

来源:互联网 发布:淘宝背景图 编辑:程序博客网 时间:2024/05/20 19:31

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一.基本数据类型对象包装类:

将基本数据类型值封装成了对象,提供了更多的属性和行为;可以对具体数据进行操作。

byte      Byte

short    Short

int         Integer

long      Long

char      Character

boolean Boolean

float     Float

duoble Double

基本数据类型对象包装类的功能;可以完成基本数据和字符串之间的转换。

Integer:static  int parseInt(numberstring);

Byte : static byteparseByte(string);

规律:

XXXparseXXX(xxxstring);

 

只有一个类型没有。

Character:

代码体现:

class IntegerDemo {

       public static void main(String[] args) {

              method_1();

              method_2();

              method_3();

              method_4();

              method_5();

              method_6();

       }

       public static void method_6(){

              Integer x = new Integer("123");

              Integer y = new Integer(123);

              System.out.println(x==y);//false

              System.out.println(x.equals(y));//true//复写了Object类中的方法,Integer对象比较的是对象中的封装的整数是否相同。

       }

       public static void method_5(){

              String s = Integer.toString(5);//整形转字符型

              //String s = 5+"";//+""直接转换

              System.out.println(s+6);//输出结果56两个字符串直接连接

              String s1 =Integer.toString(60,16);//可以获取指定十进制数对应其他进制。

              System.out.println(s1);//输出60的16进制

       }

       public static void method_4(){

              int num =Integer.parseInt("110",2);//可以将指定的进制转成十进制。

              System.out.println(num);//输出6

       }

       public static void method_3(){

              Integer i = newInteger("123");//将一个数字格式的字符串封装成了一个Integer对象。

              int num = i.intValue();//将一个Integer对象转成对应的int数值。

              System.out.println(num+4);

       }

       public static void method_2(){

              //将字符串转成一个基本数据类型值。

              String s = "123";

              int num =Integer.parseInt("qq");//NumberFormatException

              System.out.println(num+4);

       }

       public static void method_1(){

              //把一个整数封装成对象有什么好处呢?

              System.out.println(Integer.MAX_VALUE);

              System.out.println(Integer.toBinaryString(-6));

              System.out.println(Integer.toHexString(60));

       }

}

二.在JDK1.5版本以后,有了新特性。

操作基本数据类型对象时,可以像操作基本数据类型一样:

jdk1.5新特性,自动装箱拆箱。

class IntegerDemo2{

       public static void main(String[] args) {

              Integer i  = new Integer(4);//这时老版本写法。

              Integer x = 4;//Integer x = newInteger(4);//基本数据类型的装箱。自动封装成对象。

              //注意:在使用时,需要判断一下x是否为null。简化书写,有好处,也有弊端。

              x = x + 5;//x.intValue()+5;拆箱,把一个x对象转成基本数据类型。//相加完的结果9,又本装箱成Intger对象,赋给x.

              System.out.println(x);

               新特性后,这样一个小插曲。

              Integer a = new Integer(127);

              Integer b = new Integer(127);

              System.out.println(a==b);//false

              System.out.println(a.equals(b));//true

              Integer aa = 127;

              Integer bb = 127;//当使用新特性自动装箱时,注意:如果取值在byte范围内;那么两个变量取值一致,不会在内存中开辟新的对象空间;所以这两个变量如果取值一致,而且都在byte范围内,两个变量指向的是同一个对象。

              System.out.println(aa==bb);//true

              System.out.println(aa.equals(bb));//true

       }

}



0 0
原创粉丝点击