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

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

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

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、首先會將調用compareTo方法的 str1 的長度保存到 len1 中,然后str2將作為實參傳入方法給到anotherString,并將anotherString長度保存到 len2 中,即:str2的長度。

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

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

D、進入while循環(huán)進行單個字符依次循環(huán)比較,循環(huán)條件 k < lim,k 從 0 開始,因為數(shù)組下標從0開始,因此是小于 lim。

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

a、如果不相同:則直接結束compareTo方法的調用,直接返回兩個字符的ascii碼差值;

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

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

總結

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

相關文章

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

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

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

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

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

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

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

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

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

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

    字符串是我們在編程中最常使用的一種數(shù)據(jù)類型,Java中用類來描述字符串,其中最常用的字符串處理類是String,這篇文章主要介紹了Java字符串工具類從原生到第三方庫的高效實踐的相關資料,需要的朋友可以參考下
    2025-08-08
  • spring項目中切面及AOP的使用方法

    spring項目中切面及AOP的使用方法

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

    java字符串轉JSON簡單代碼示例

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

    Java中替換HTML標簽的方法代碼

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

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

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

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

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

最新評論

南江县| 宁蒗| 微博| 五台县| 瓦房店市| 樟树市| 额济纳旗| 双辽市| 离岛区| 东乡族自治县| 新源县| 东方市| 池州市| 五峰| 宜兰市| 镇坪县| 北海市| 新民市| 石渠县| 嘉荫县| 平和县| 石泉县| 松阳县| 玉门市| 潮州市| 新干县| 安龙县| 汤原县| 鲁山县| 库尔勒市| 凤凰县| 德令哈市| 从化市| 康定县| 专栏| 巢湖市| 万源市| 彰化市| 大宁县| 休宁县| 怀化市|