zoukankan      html  css  js  c++  java
  • Java开发笔记(三十三)字符包装类型

    正如整型int有对应的包装整型Integer那样,字符型char也有对应的包装字符型Character。初始化字符包装变量也有三种方式,分别是:直接用等号赋值、调用包装类型的valueOf方法、使用关键字new创建新变量。倘若要把字符包装变量转换成字符变量,则调用包装变量的charValue方法即可。甚至可以对字符包装变量做加减乘除运算,就像之前对待字符变量一般,字符包装类型的基本使用代码示例如下:

    		// 声明一个包装字符变量
    		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.方法名称(输入字符)”的形式调用,具体的方法调用代码举例如下:

    		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 = '
    ';
    		// 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开发笔记(序)章节目录

  • 相关阅读:
    Android——Activity去除标题栏和状态栏
    Android——程序员的情怀——优化BaseAdapter
    Android——Android Sutido:[2]导入eclipse项目篇
    【Android开源项目分析】自定义圆形头像CircleImageView的使用和源码分析
    学佛略要
    Keystone, Start, Failed to Load Bson
    又梦见了你
    伦敦之旅
    无题
    Multiverse in Doctor Strange // Multiverse在《神秘博士》
  • 原文地址:https://www.cnblogs.com/pinlantu/p/10073805.html
Copyright © 2011-2022 走看看