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

使用String類的compareTo方法比較規(guī)則詳解

 更新時(shí)間:2025年06月05日 09:52:01   作者:爆米花759  
這篇文章主要介紹了使用String類的compareTo方法比較規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

String類的compareTo方法比較規(guī)則

1、compareTo 源碼

public int compareTo(String anotherString) {
    int len1 = value.length;
    int len2 = anotherString.value.length;
    int lim = Math.min(len1, len2);
    char v1[] = value;
    char v2[] = anotherString.value;

    int k = 0;
    while (k < lim) {
        char c1 = v1[k];
        char c2 = v2[k];
        if (c1 != c2) {
            return c1 - c2;
        }
        k++;
    }
    return len1 - len2;
}
private final char value[]; //String類使用char[]來保存字符串

2、代碼分析

A、首先會(huì)將調(diào)用compareTo方法的 str1 的長度保存到 len1 中,然后str2將作為實(shí)參傳入方法給到anotherString,并將anotherString長度保存到 len2 中,即:str2的長度。

B、然后調(diào)用 Math.min(len1, len2) 方法,得到長度中的最小值,用于決定后續(xù)字符依次循環(huán)比較的次數(shù)。

C、讓 v1 指向 str1 的 value數(shù)組,v2 指向 str2 的 value數(shù)組。

D、進(jìn)入while循環(huán)進(jìn)行單個(gè)字符依次循環(huán)比較,循環(huán)條件 k < lim,k 從 0 開始,因?yàn)閿?shù)組下標(biāo)從0開始,因此是小于 lim。

E、每次都將 v1 和 v2 中相同索引位置的字符取出來比較是否相同:

a、如果不相同:則直接結(jié)束compareTo方法的調(diào)用,直接返回兩個(gè)字符的ascii碼差值;

b、如果相同:則繼續(xù)比較下一個(gè)字符:

  • 1、如果找到了不同的字符,仍然返回ascii碼差值;
  • 2、如果在循環(huán)比較結(jié)束后,仍然沒有找到不同的字符,即:str1 和 str2前半部分的字符相同,則直接返回兩個(gè)字符串總長度之差,即:len1 - len2(str1.length - str2.length)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式

    springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式

    這篇文章主要介紹了springboot讀取.properties配置文件中的map和list類型配置參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java深入理解代碼塊的使用細(xì)節(jié)

    Java深入理解代碼塊的使用細(xì)節(jié)

    所謂代碼塊是指用"{}"括起來的一段代碼,根據(jù)其位置和聲明的不同,可以分為普通代碼塊、構(gòu)造塊、靜態(tài)塊、和同步代碼塊。如果在代碼塊前加上?synchronized關(guān)鍵字,則此代碼塊就成為同步代碼塊
    2022-05-05
  • Java程序員的10道常見的XML面試問答題(XML術(shù)語詳解)

    Java程序員的10道常見的XML面試問答題(XML術(shù)語詳解)

    包括web開發(fā)人員的Java面試在內(nèi)的各種面試中,XML面試題在各種編程工作的面試中很常見。XML是一種成熟的技術(shù),經(jīng)常作為從一個(gè)平臺(tái)到其他平臺(tái)傳輸數(shù)據(jù)的標(biāo)準(zhǔn)
    2014-04-04
  • SpringBoot全局異常攔截與自定義錯(cuò)誤頁面實(shí)現(xiàn)過程解讀

    SpringBoot全局異常攔截與自定義錯(cuò)誤頁面實(shí)現(xiàn)過程解讀

    本文介紹了SpringBoot中全局異常攔截與自定義錯(cuò)誤頁面的實(shí)現(xiàn)方法,包括異常的分類、SpringBoot默認(rèn)異常處理機(jī)制、全局異常攔截實(shí)現(xiàn)、自定義錯(cuò)誤頁面實(shí)現(xiàn)以及兩者的結(jié)合使用,通過這些技術(shù),可以提高系統(tǒng)的穩(wěn)定性和用戶體驗(yàn)
    2025-12-12
  • Java字符串工具類從原生到第三方庫的高效實(shí)踐詳解

    Java字符串工具類從原生到第三方庫的高效實(shí)踐詳解

    字符串是我們?cè)诰幊讨凶畛J褂玫囊环N數(shù)據(jù)類型,Java中用類來描述字符串,其中最常用的字符串處理類是String,這篇文章主要介紹了Java字符串工具類從原生到第三方庫的高效實(shí)踐的相關(guān)資料,需要的朋友可以參考下
    2025-08-08
  • spring項(xiàng)目中切面及AOP的使用方法

    spring項(xiàng)目中切面及AOP的使用方法

    我們知道,spring兩大核心,IOC(控制反轉(zhuǎn))和AOP(切面),那為什么要使用AOP,AOP是什么呢?帶著這些問題通過本文學(xué)習(xí)下吧
    2021-06-06
  • java字符串轉(zhuǎn)JSON簡(jiǎn)單代碼示例

    java字符串轉(zhuǎn)JSON簡(jiǎn)單代碼示例

    這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)JSON的相關(guān)資料,JSON?是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于Web應(yīng)用程序中的數(shù)據(jù)傳輸,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Java中替換HTML標(biāo)簽的方法代碼

    Java中替換HTML標(biāo)簽的方法代碼

    這篇文章主要介紹了Java中替換HTML標(biāo)簽的方法代碼,需要的朋友可以參考下
    2014-02-02
  • Spring Boot 3X 框架核心組件的使用詳解

    Spring Boot 3X 框架核心組件的使用詳解

    SpringBoot核心組件詳解,涵蓋Starter依賴、自動(dòng)配置、主啟動(dòng)類、配置文件、核心注解、Web開發(fā)、數(shù)據(jù)訪問和效率提升組件,適合企業(yè)開發(fā),本文介紹Spring Boot 3X 框架核心組件的使用,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • java數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列示例介紹

    java數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列示例介紹

    大家好,本篇文章主要講的是java數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列示例介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評(píng)論

时尚| 安龙县| 浦县| 来凤县| 汽车| 成武县| 潍坊市| 安溪县| 邛崃市| 股票| 信丰县| 滁州市| 廉江市| 中阳县| 庄河市| 朔州市| 淮北市| 乌鲁木齐市| 绿春县| 临朐县| 德保县| 临安市| 乐平市| 嵩明县| 营口市| 桓台县| 韶山市| 德江县| 济宁市| 岫岩| 濉溪县| 崇明县| 九龙城区| 通化县| 温泉县| 江华| 惠安县| 彩票| 哈尔滨市| 兴仁县| 额敏县|