一、java中八種基本數據類型對應的包裝類型 基本數據類型 包裝類型 byte java.lang.Byte short java.lang.Short int java.lang.Integer long java.lang.Long float java.lang.Float double ja ...
一、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.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料