java 原始碼學習1 String

2021-07-22 12:58:31 字數 549 閱讀 1876

1、計算hashcode方法

public int hashcode() 

hash = h;

}return h;

}

假設現在又 abcd 的字串

則h=((((0*31+a))*31+b)*31+c)*31+d

最後得到的表示式 是:a*31^(4-1)+b*31^(4-2)+c*31^(4-3)+d

可以簡單理解為 計算31進製的資料。

這裡又有疑問了,為什麼選擇31 呢?

有心的同學可以從網上找一下

2、compareto方法

public int compareto(string anotherstring) 

k++;

}return len1 - len2;

}

這個思路就比較簡單了,

因為string 是基於char陣列衍伸的資料型別,

所以比較的物件是字元。

比較兩個字串的大小,則依次比較字元的大小即可。

spring 原始碼學習 1

1.spring 是乙個非侵入性 non invasive 框架,其目標是使應用程式 對框架的依賴最小化,應用 可以在沒有spring或者其它的容器下執行。2.spring提供了乙個一致的程式設計模型,使用應用直接使用pojo開發,從需可以與應用環境 如web伺服器 隔離開來。3.spring推動應...

Android原始碼學習1

1 logger日誌系統是基於核心中的logger日誌驅動程式實現的 四種日誌型別 main,system,radio,events 四個裝置檔案 dev log main,dev log system,dev log radio,dev log events main型別的日誌檔案 應用程式級別的...

kernel imx原始碼學習 1

首先看看檔案下包含的內容 這裡通過查詢資料對每個檔案做簡要注釋 1.arch資料夾下包含體系結構的相關 對於每個架構的cpu都有乙個對應的子目錄。2.block塊裝置的通用函式 塊裝置是i o裝置的一類 4.credits是對linux專案的貢獻者名單列表。5.crypto包含常用加密演算法和一些壓...