一、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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
原文:https://www.cnblogs.com/ruigege0000/p/12216090.html