想把原來的小米的便籤內容轉到不是小米的新手機,怎麼操作
阿新 • • 發佈:2021-07-28
包裝類
包裝類概述
什麼是包裝類
- 基本資料型別所對應的引用資料型別
- Object可統一所有資料,包裝類的預設值是null
包裝類對應
基本資料型別 | 包裝型別 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
型別轉換:裝箱、拆箱
型別轉換
-
八種包裝類提供不同型別間的轉換方法:
- Number父類中提供的6個共性方法
- parseXXX()靜態方法
- valueOf()靜態方法
-
注意:需保證型別相容,否則丟擲NumberFormatException異常
裝箱
基本資料型別轉換為引用資料型別
//型別轉換:裝箱,基本型別轉換為引用型別 //基本型別 int num1=39; //使用Integer類建立物件 Integer integer1=new Integer(num1); Integer integer2=Integer.valueOf(num1); System.out.println("裝箱"); System.out.println(integer2); System.out.println(integer1); //jdk1.5之後,Java提供自動裝箱的功能 int age=49; //自動裝箱 Integer integer4=age; System.out.println("自動裝箱"); System.out.println(age);
拆箱
引用型別轉換為基本型別
//型別轉換:拆箱,引用型別轉換為基本型別
Integer integer3=new Integer(100);
int num2=integer3.intValue();
System.out.println("拆箱");
System.out.println(num2);
//jdk1.5之後,Java提供自動拆箱的功能
int age=49;
//自動拆箱
int age2=integer4;
System.out.println("自動拆箱");
System.out.println(integer4);
基本型別和字串轉換
//基本型別和字串之間轉換 //1.基本型別轉換為字串 int n1=255; //1.1使用"+" String s1=n1+""; //1.2使用Integer中的toString()方法 String s2=Integer.toString(n1); System.out.println(s1); System.out.println(s2); //2.字串轉換成基本型別 String str="135"; //使用Integer提供的parseXXX() int n2=Integer.parseInt(str); System.out.println(n2); //boolean字串形式轉成基本型別。"true"--->true 非"true"--->false String str2="tru1"; boolean b1=Boolean.parseBoolean(str2); System.out.println(b1);
整數緩衝區
-
Java預先建立了256個常用的整數包裝型別物件
-
在實際應用中,對已建立的物件進行復用
public class Integer{ public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } } private static class IntegerCache { static final int low = -128; static final int high;//127 static final Integer cache[]; } public class Demo02 { public static void main(String[] args) { //面試題 Integer integer=new Integer(100); Integer integer2=new Integer(100); System.out.println(integer==integer2);//false Integer integer3=100;//自動裝箱 Integer integer4=100; System.out.println(integer3==integer4);//true,因為100在-128~127之間,所以返回的就是Integer緩衝區裡的物件 Integer integer5=200;//自動裝箱 Integer integer6=200; System.out.println(integer5==integer6);//fasle,因為200不在-128~127之間,所以返回的是在堆裡開出來的新的空間,new Integer(i) } }