Java開發筆記(三十三)字符包裝類型

正如整型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

相關文章
相關標籤/搜索