<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
包裝類其實就是8種基本資料型別對應的參照型別。
基本資料型別 | 參照資料型別 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
Java為了實現一切皆物件,為8種基本型別提供了對應的參照型別。
後面的集合和泛型其實也只能支援包裝型別,不支援基本資料型別。
基本型別的資料和變數可以直接賦值給包裝型別的變數。
public static void main(String[] args) { int num1 = 10; // 自動裝箱(將int基本資料類變數賦值給包裝型別變數) Integer res1 = num1; System.out.println(res1); }
包裝型別的變數可以直接賦值給基本資料型別的變數。
public static void main(String[] args) { Integer num2 = 100; // 自動拆箱(將包裝型別變數賦值給基本型別變數) int res2 = num2; System.out.println(res2); }
包裝類的變數的預設值可以是null,容錯率更高, 而基本型別不可以。
public static void main(String[] args) { Integer num3 = null; }
可以把基本型別的資料轉換成字串型別(用處不大)
- 呼叫toString()方法得到字串結果。
- 或者呼叫Integer.toString(基本型別的資料)。
public static void main(String[] args) { Integer number = 100; // 方式一 String result1 = number.toString(); // 方式二 String result2 = Integer.toString(101); // 方式三: 最簡單常用 String result3 = number + ""; System.out.println(result1 + 1); // 1001 System.out.println(result2 + 1); // 1011 System.out.println(result3 + 2); // 1002 }
可以把字串型別的數值轉換成真實的資料型別(非常有用)
- teger.parseInt(“字串型別的整數”)
- Double.parseDouble(“字串型別的小數”)。
public static void main(String[] args) { String strNum1 = "123"; String strNum2 = "12.123"; // 字串轉整數 int intNum = Integer.parseInt(strNum1); // 字串轉小數 double doubleNum = Double.parseDouble(strNum2); System.out.println(intNum + 1); // 124 System.out.println(doubleNum + 1); // 13.123 }
將字串型別的數位轉為真實的資料, 我們也可以呼叫包裝類的valueOf方法
public static void main(String[] args) { String strNum1 = "123"; String strNum2 = "12.123"; // 字串轉整數 int intNum = Integer.valueOf(strNum1); // 字串轉小數 double doubleNum = Double.valueOf(strNum2); System.out.println(intNum + 1); // 124 System.out.println(doubleNum + 1); // 13.123 }
包裝類是什麼,作用是什麼?
基本資料型別對應的參照型別,實現了一切皆物件。
後期集合和泛型不支援基本型別,只能使用包裝類。
包裝類有哪些特殊功能?
可以把基本型別的資料轉換成字串型別(用處不大)
可以把字串型別的數值轉換成真實的資料型別(非常有用)
陣列操作工具類,專門用於運算元組元素的。
方法名 | 說明 |
---|---|
toString(型別[] a) | 返回陣列的內容(字串形式) |
sort(型別[] a) | 對優質的陣列預設進行升序排序 |
sort(型別[] a, Comparator<? super T> c) | 使用比較器物件自定義排序 |
binarySearch(int[] a, int key) | 二分搜尋陣列中的資料,存在返回索引,不存在返回-1 |
toString方法
public static void main(String[] args) { int[] arr = {10, 20, 30, 40, 0, 100}; // 返回陣列內容 String res = Arrays.toString(arr); System.out.println(res); // [10, 20, 30, 40, 0, 100] }
sort方法
public static void main(String[] args) { int[] arr = {20, 10, 900, 40, 0, 100}; // 升序排序 Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [0, 10, 20, 40, 100, 900] }
binarySearch方法, 二分查詢法搜尋陣列中的資料, 找到返回索引, 找不到返回-1
注意: 前提被查詢的陣列必須是排好序的
public static void main(String[] args) { int[] arr = {20, 10, 900, 40, 0, 100}; // 升序排序 Arrays.sort(arr); // 查詢陣列 int index = Arrays.binarySearch(arr, 10); System.out.println(index); // 1 }
sort方法第二個引數是Comparator, 設定Comparator介面對應的比較器物件,可以來自己客製化比較規則。
注意: 自定義比較器物件只支援參照型型別的排序
如果認為左邊資料大於右邊資料, 返回正整數
如果認為左邊資料小於右邊資料, 返回負整數
如果認為左邊資料等於右邊資料, 返回0
預設的升序是o1 - o2; 降序是o2 - o1
public static void main(String[] args) { // 只支援參照型別, 因此定義包裝類資料型別 Integer[] arr = {10, 0, 30, 50, 100, 67}; // 呼叫sort方法, 降序 Arrays.sort(arr, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); System.out.println(Arrays.toString(arr)); // [100, 67, 50, 30, 10, 0] }
到此這篇關於Java中包裝類和Arrays類的詳細介紹的文章就介紹到這了,更多相關Java 包裝類和Arrays類內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45