最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中包裝類和Arrays類的詳細(xì)介紹

 更新時間:2022年12月13日 15:51:01   作者:藍(lán)桉cyq  
Arrays針對于數(shù)組做操作的類,該類包含用于操作數(shù)組的各種方法(如排序和搜索),這篇文章主要給大家介紹了關(guān)于Java中包裝類和Arrays類的詳細(xì)介紹,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

包裝類

包裝類其實就是8種基本數(shù)據(jù)類型對應(yīng)的引用類型。

基本數(shù)據(jù)類型引用數(shù)據(jù)類型
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

為什么需要包裝類?

Java為了實現(xiàn)一切皆對象,為8種基本類型提供了對應(yīng)的引用類型。

后面的集合和泛型其實也只能支持包裝類型,不支持基本數(shù)據(jù)類型。

自動裝箱:

基本類型的數(shù)據(jù)和變量可以直接賦值給包裝類型的變量。

public static void main(String[] args) {
    int num1 = 10;

    // 自動裝箱(將int基本數(shù)據(jù)類變量賦值給包裝類型變量)
    Integer res1 = num1;
    System.out.println(res1);
}

自動拆箱:

包裝類型的變量可以直接賦值給基本數(shù)據(jù)類型的變量。

public static void main(String[] args) {
    Integer num2 = 100;

    // 自動拆箱(將包裝類型變量賦值給基本類型變量)
    int res2 = num2;
    System.out.println(res2);
}

包裝類的特有功能:

包裝類的變量的默認(rèn)值可以是null,容錯率更高, 而基本類型不可以。

public static void main(String[] args) {
    Integer num3 = null;
}

可以把基本類型的數(shù)據(jù)轉(zhuǎn)換成字符串類型(用處不大)

  • 調(diào)用toString()方法得到字符串結(jié)果。
  • 或者調(diào)用Integer.toString(基本類型的數(shù)據(jù))。
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
}

可以把字符串類型的數(shù)值轉(zhuǎn)換成真實的數(shù)據(jù)類型(非常有用)

  • teger.parseInt(“字符串類型的整數(shù)”)
  • Double.parseDouble(“字符串類型的小數(shù)”)。
public static void main(String[] args) {
    String strNum1 = "123";
    String strNum2 = "12.123";

    // 字符串轉(zhuǎn)整數(shù)
    int intNum = Integer.parseInt(strNum1);
    // 字符串轉(zhuǎn)小數(shù)
    double doubleNum = Double.parseDouble(strNum2);

    System.out.println(intNum + 1); // 124
    System.out.println(doubleNum + 1); // 13.123
}

將字符串類型的數(shù)字轉(zhuǎn)為真實的數(shù)據(jù), 我們也可以調(diào)用包裝類的valueOf方法

public static void main(String[] args) {
    String strNum1 = "123";
    String strNum2 = "12.123";

    // 字符串轉(zhuǎn)整數(shù)
    int intNum = Integer.valueOf(strNum1);
    // 字符串轉(zhuǎn)小數(shù)
    double doubleNum = Double.valueOf(strNum2);

    System.out.println(intNum + 1); // 124
    System.out.println(doubleNum + 1); // 13.123
}

小結(jié):

包裝類是什么,作用是什么?

基本數(shù)據(jù)類型對應(yīng)的引用類型,實現(xiàn)了一切皆對象。

后期集合和泛型不支持基本類型,只能使用包裝類。

包裝類有哪些特殊功能?

可以把基本類型的數(shù)據(jù)轉(zhuǎn)換成字符串類型(用處不大)

可以把字符串類型的數(shù)值轉(zhuǎn)換成真實的數(shù)據(jù)類型(非常有用)

Arrays類

Arrays類的概述

數(shù)組操作工具類,專門用于操作數(shù)組元素的。

Arrays類的常用API

方法名說明
toString(類型[] a)返回數(shù)組的內(nèi)容(字符串形式)
sort(類型[] a)對優(yōu)質(zhì)的數(shù)組默認(rèn)進行升序排序
sort(類型[] a, Comparator<? super T> c)使用比較器對象自定義排序
binarySearch(int[] a, int key)二分搜索數(shù)組中的數(shù)據(jù),存在返回索引,不存在返回-1

toString方法

public static void main(String[] args) {
    int[] arr = {10, 20, 30, 40, 0, 100};

    // 返回數(shù)組內(nèi)容
    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方法, 二分查找法搜索數(shù)組中的數(shù)據(jù), 找到返回索引, 找不到返回-1

注意: 前提被查找的數(shù)組必須是排好序的

public static void main(String[] args) {
    int[] arr = {20, 10, 900, 40, 0, 100};
  
    // 升序排序
    Arrays.sort(arr);
    // 查找數(shù)組
    int index = Arrays.binarySearch(arr, 10);
    System.out.println(index); // 1
}

sort方法自定義規(guī)則:

sort方法第二個參數(shù)是Comparator, 設(shè)置Comparator接口對應(yīng)的比較器對象,可以來自己定制比較規(guī)則。

注意: 自定義比較器對象只支持引用型類型的排序

如果認(rèn)為左邊數(shù)據(jù)大于右邊數(shù)據(jù), 返回正整數(shù)

如果認(rèn)為左邊數(shù)據(jù)小于右邊數(shù)據(jù), 返回負(fù)整數(shù)

如果認(rèn)為左邊數(shù)據(jù)等于右邊數(shù)據(jù), 返回0

默認(rèn)的升序是o1 - o2; 降序是o2 - o1

public static void main(String[] args) {
    // 只支持引用類型, 因此定義包裝類數(shù)據(jù)類型 
    Integer[] arr = {10, 0, 30, 50, 100, 67};

    // 調(diào)用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]
}

總結(jié)

到此這篇關(guān)于Java中包裝類和Arrays類的詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Java 包裝類和Arrays類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析Java集合中的LinkedHashSet

    淺析Java集合中的LinkedHashSet

    這篇文章主要介紹了淺析Java集合中的LinkedHashSet,LinkedHashSet?是?Java?中的一個集合類,它是?HashSet?的子類,并實現(xiàn)了?Set?接口,與?HashSet?不同的是,LinkedHashSet?保留了元素插入的順序,并且具有?HashSet?的快速查找特性,需要的朋友可以參考下
    2023-09-09
  • 淺析java雙向冒泡排序算法

    淺析java雙向冒泡排序算法

    這篇文章主要介紹了淺析java雙向冒泡排序算法,并附上源碼,需要的朋友可以參考下
    2015-02-02
  • Java單例模式與破壞單例模式概念原理深入講解

    Java單例模式與破壞單例模式概念原理深入講解

    單例模式(Singleton?Pattern)是?Java?中最簡單的設(shè)計模式之一。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。這種模式涉及到一個單一的類,該類負(fù)責(zé)創(chuàng)建自己的對象,同時確保只有單個對象被創(chuàng)建
    2023-02-02
  • 解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問題

    解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問題

    這篇文章主要介紹了解決SpringMVC @RequestMapping不設(shè)置value出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Springboot Thymeleaf字符串對象實例解析

    Springboot Thymeleaf字符串對象實例解析

    這篇文章主要介紹了Springboot Thymeleaf字符串對象實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2007-09-09
  • Java中SpringBoot自定義Starter詳解

    Java中SpringBoot自定義Starter詳解

    這篇文章主要介紹了Java中SpringBoot自定義Starter詳解,Starter是Spring Boot中的一個非常重要的概念,Starter相當(dāng)于模塊,它能將模塊所需的依賴整合起來并對模塊內(nèi)的Bean根據(jù)環(huán)境進行自動配置,需要的朋友可以參考下
    2023-07-07
  • springboot2.5.2與 flowable6.6.0整合流程引擎應(yīng)用分析

    springboot2.5.2與 flowable6.6.0整合流程引擎應(yīng)用分析

    這篇文章主要介紹了springboot2.5.2與 flowable6.6.0整合流程引擎應(yīng)用分析,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • 關(guān)于Hystrix的監(jiān)控及可視化面板

    關(guān)于Hystrix的監(jiān)控及可視化面板

    這篇文章主要介紹了關(guān)于Hystrix的監(jiān)控及可視化面板,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • idea中如何連接hive

    idea中如何連接hive

    這篇文章主要介紹了idea中如何連接hive問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • idea中寫sql語句沒有提示字段的問題

    idea中寫sql語句沒有提示字段的問題

    在IDEA中編寫SQL時如果沒有字段提示,通常是因為沒有設(shè)置注入語言,解決方法是通過快捷鍵Alt+Enter選擇“注入語言或引用”,然后選擇相應(yīng)的數(shù)據(jù)庫(如MySQL),之后重新輸入SQL語句即可,此方法可以有效解決IDEA中SQL語句提示問題,提高開發(fā)效率
    2024-09-09

最新評論

哈尔滨市| 普安县| 拜城县| 河间市| 涪陵区| 上林县| 黄大仙区| 墨竹工卡县| 肥西县| 芦溪县| 平顺县| 黎川县| 若羌县| 普陀区| 柏乡县| 青州市| 遂宁市| 昌乐县| 嘉黎县| 镇赉县| 将乐县| 三明市| 南汇区| 抚州市| 疏勒县| 藁城市| 宁晋县| 鄂尔多斯市| 色达县| 马关县| 汝城县| 金山区| 来宾市| 呈贡县| 凭祥市| 德安县| 高清| 沁阳市| 香格里拉县| 扎兰屯市| 香港|