一、java中八种基本数据类型对应的包装类型

基本数据类型      包装类型

byte                    java.lang.Byte

short                   java.lang.Short

int                      java.lang.Integer

long                    java.lang.Long

float                    java.lang.Float

double                  java.lang.Double

boolean                 java.lang.Boolean

char                    java.lang.Character

1.java中提供的八种基本数据类型不够用吗?为什么java中还要提供对应的包装类型?

答:提供包装类型可以更加方便的来被调用,可以想到下面的例子,使用一个Object就可以包括八种基本数据类型,如果不用的话,就得写八次函数(也就是八次重载)

 

package com.bjpowernode.java_learning;

​

public class D76_1_PackedType {

  public static void main(String[] args) {

​

    byte b = 10;

    //引用类型

    Byte b1 = new Byte(b);

    m1(b1);//10  Byte已经将toString方法重写了,要是没重写,这里打印出来的就是对象的地址了。

  }

  public static void m1(Object o) {

    //需求:规定m1方法可以接受Java中任何一种数

    System.out.println(o);

  }

}

二、各个包装类的继承关系

 

1.除了boolean和Character外,其他包装类都有valueOf()和parseXXX方法,并且还具有byteValue(),shortValue(),intValue(),longValue(),floatValue()和doubleValue()方法,这些方法是最常用的方法。

 

package com.bjpowernode.java_learning;

​

public class D76_2_PackedTypeExample {

  public static void main(String[] args) {

    Double d1 = new Double(48);

    int d2 = d1.intValue();

    System.out.println(d2);

  }

}

三、Integer类详细讲解

1.以java.lang.Interger;类型为例,讲解八种基本数据类型

2.举例:

 

package com.bjpowernode.java_learning;

​

public class D76_3_IntegerPackedClass {

  public static void main(String[] args) {

    //获取Int类型的最大值和最小值

    System.out.println("int最大值:" + Integer.MAX_VALUE);

    System.out.println("int最小值:" + Integer.MIN_VALUE);

    //以int推byte

    System.out.println("byte最大值:" + Byte.MAX_VALUE);

    System.out.println("byte最小值:" + Byte.MIN_VALUE);

    //创建Integer类型的对象

    Integer i1 = new Integer(10);

    Integer i2 = new Integer("123");

    System.out.println(i1);

    System.out.println(i2);

      //Integer i3 = new Integer("abc");//这个语句编译是可以通过的,但是运行的时候会报出“数字格式异常”,NumberFormException

    //虽然可以将字符串转化成Integer类型,但是该字符串也必须是“数字字符串”

  }

}

 

四、源码:                                       

D76_1_PackedType.java

D76_2_PackedTypeExample

D76_3_IntegerPackedClass.java

https://github.com/ruigege66/Java/blob/master/D76_1_PackedType.java

https://github.com/ruigege66/Java/blob/master/D76_2_PackedTypeExample

https://github.com/ruigege66/Java/blob/master/D76_3_IntegerPackedClass.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 

posted on 2020-01-20 00:13  心悦君兮君不知-睿  阅读(251)  评论(0编辑  收藏  举报