正如整型int有對應的包裝整型Integer那樣,字符型char也有對應的包裝字符型Character。初始化字符包裝變量也有三種方式,分別是:直接用等號賦值、調用包裝類型的valueOf方法、使用關鍵字new建立新變量。假若要把字符包裝變量轉換成字符變量,則調用包裝變量的charValue方法便可。甚至能夠對字符包裝變量作加減乘除運算,就像以前對待字符變量通常,字符包裝類型的基本使用代碼示例以下:html
// 聲明一個包裝字符變量 Character character = 'A'; System.out.println("character="+character); // 把包裝字符變量轉換成基本字符變量 char value = character.charValue(); System.out.println("value="+value); // Character類型與char類型的變量之間容許直接賦值,靠的是「自動裝箱」和「自動拆箱」 Character plusResult = (char) (character+1); System.out.println("plusResult="+plusResult);
注意到上述代碼裏面,包裝字符變量character直接加一,相加之和強制轉成char類型後又直接賦給另外一個包裝變量plusResult。這裏難免使人疑惑,整型和浮點型同屬於基本類型,它們的變量相互賦值尚且須要顯式的強制類型轉換;現在有Character和char,一個是包裝類型,另外一個是基本類型,爲什麼它們的變量相互賦值不須要強制轉換類型呢?這是由於包裝類型僅僅對基本類型加了一層封裝而已,內部的數據格式並無發生變化,因此爲了儘可能減小代碼的改動,在包裝變量和基本變量之間賦值的時候,編譯器會自動進行裝箱和拆箱操做。所謂裝箱,指的是編譯器會默認調用valueOf方法,將基本類型的變量轉換成對應包裝類型的變量;至於拆箱,指的是編譯器會默認調用***Value方法,將包裝類型的變量轉換成對應基本類型的變量。經過自動裝箱和自動拆箱,Java代碼實現了包裝變量與基本變量的無縫銜接,從而簡化了相關處理代碼。
除了上面說的基本方法,Character類型針對文本加工操做,額外提供了一些字符處理方法,主要說明以下:
isDigit:判斷輸入的字符是否爲數字。
isLetter:判斷輸入的字符是否爲字母。
isLowerCase:判斷輸入的字符是否爲小寫字母。
isUpperCase:判斷輸入的字符是否爲大寫字母。
isSpaceChar:判斷輸入的字符是否爲空格。
isWhitespace:判斷輸入的字符是否爲空白(非數字非字母非標點)。
toLowerCase:輸入一個字符,若是原字符是大寫字母,則返回對應的小寫字母;不然原樣返回該字符。
toUpperCase:輸入一個字符,若是原字符是小寫字母,則返回對應的大寫字母;不然原樣返回該字符。
以上的字符處理方法,均需按照「Character.方法名稱(輸入字符)」的形式調用,具體的方法調用代碼舉例以下:java
Character character = 'A'; // isDigit方法判斷字符是否爲數字 boolean isDigit = Character.isDigit(character); System.out.println("isDigit="+isDigit); // isLetter方法判斷字符是否爲字母 boolean isLetter = Character.isLetter(character); System.out.println("isLetter="+isLetter); // isLowerCase方法判斷字符是否爲小寫 boolean isLowerCase = Character.isLowerCase(character); System.out.println("isLowerCase="+isLowerCase); // isUpperCase方法判斷字符是否爲大寫 boolean isUpperCase = Character.isUpperCase(character); System.out.println("isUpperCase="+isUpperCase); Character line = '\n'; // isSpaceChar方法判斷字符是否爲空格 boolean isSpaceChar = Character.isSpaceChar(line); System.out.println("isSpaceChar="+isSpaceChar); // isWhitespace方法判斷字符是否爲空白(非數字非字母非標點) boolean isWhitespace = Character.isWhitespace(line); System.out.println("isWhitespace="+isWhitespace); // isWhitespace方法把字符轉換爲大寫 char lowerCase = Character.toLowerCase(character); System.out.println("lowerCase="+lowerCase); // isWhitespace方法把字符轉換爲小寫 char upperCase = Character.toUpperCase(character); System.out.println("upperCase="+upperCase);
更多Java技術文章參見《Java開發筆記(序)章節目錄》git