基本類型char的包裝類是Character,使用的比較多,你們是比較熟悉的。java
我只是以爲裏面有不少static方法,平時不怎麼用,學習一下怎麼實現的,或許往後就用到了。git
static int compare(char x, char y):以數字方式比較兩個char值。返回結果是正數就是第一個大,0表示相等,負數就是第二個參數大。數組
static boolean isDigit(char ch):肯定指定的字符是否爲數字。緩存
static boolean isLetter(char ch):肯定指定的字符是否爲字母。學習
static boolean isLetterOrDigit(char ch):肯定指定的字符是字母仍是數字。 編碼
static boolean isLowerCase(char ch):肯定指定的字符是否爲小寫字符。spa
static boolean isUpperCase(char ch):肯定指定的字符是否爲大寫字符。code
static boolean isWhitespace(char ch):根據Java肯定指定的字符是否爲空格。對象
static char toLowerCase(char ch):使用UnicodeData文件中的大小寫映射信息將字符參數轉換爲小寫。blog
static char toUpperCase(char ch):使用UnicodeData文件中的大小寫映射信息將字符參數轉換爲大寫。
static boolean isDefined(char ch):肯定是否在Unicode中定義了字符。
而後看點Character裏面的實現,裏面有個內部類CharacterCache,並且使用static修飾,內部用static塊中初始化緩存數組,數據大小是128個,維護0到127的char。
好比在valueOf(char c)中,對於不大於127的,咱們能夠能夠看到使用緩存中的對象,而沒有初始化一個對象,固然在咱們平常使用中,通常都是那些可見字符。
這個計算hashcode也是比較簡單的,返回當前的編碼值
在java的世界中,看看下面會輸出什麼:
有什麼討論的內容,能夠加我公衆號: