正如整型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 = '\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开发笔记(序)章节目录》

转载于:https://www.cnblogs.com/pinlantu/p/10073805.html

Java开发笔记(三十三)字符包装类型相关推荐

  1. 【Visual C++】游戏开发笔记三十三 浅墨DirectX提高班之二 化腐朽为神奇:DirectX初始化四步曲

    这篇文章里,我们将迈出精通DirectX的第一步,先了解典型Direct3D程序的书写流程,然后学习COM接口的对象的一些思想,然后按照"四步曲"的思路,系统地学习DirectX的 ...

  2. 【Visual C++】游戏开发笔记三十三 浅墨DirectX提高班之二 化腐朽为神奇:DirectX初始化四步曲...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8197792 作者:毛星云(浅墨) ...

  3. 【Visual C++】游戏开发笔记三十三 浅墨DirectX提高班之二 化腐朽为神奇 DirectX初始化四步曲

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:  http://blog.csdn.net/zhmxy555/article/details/8197792 作者:毛星云(浅 ...

  4. Java开发笔记(一百零三)线程间的通信方式

    前面介绍了多线程并发之时的资源抢占情况,以及利用同步.加锁.信号量等机制解决资源冲突问题,不过这些机制只适合同一资源的共享分配,并未涉及到某件事由的前因后果.日常生活中,经常存在两个前后关联的事务,像 ...

  5. Java开发笔记(二十三)数组工具Arrays

    数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...

  6. Java开发笔记(五十六)利用枚举类型实现高级常量

    前面介绍了联合利用final和static可实现常量的定义,该方式用于简单的常量倒还凑合,要是用于复杂的.安全性高的常量,那就力不从心了.例如以下几种情况,final结合static的方式便缺乏应对之 ...

  7. Java开发笔记(一百一十三)HttpClient实现下载与上传

    前面介绍了通过HttpClient实现HTTP接口的GET方式调用和POST方式调用,那么文件下载与文件上传又该如何操作呢?其实在HttpClient看来,文件下载属于特殊的GET调用,只不过应答报文 ...

  8. Java开发笔记XML报文的解析

    Java开发笔记XML报文的解析 前言 正文 代码示例 结语 前言 项目任务里需要解析xml报文. 于是开始着手学习相关知识,在查看了多篇博文后找到了一篇不错的,讲的很实用. 转载来源:Java开发笔 ...

  9. (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口

    文章目录 (硅谷课堂项目)Java开发笔记2:项目概述,搭建项目环境和开发讲师管理接口 1.项目概述 1.1 项目介绍 1.2 硅谷课程流程图 1.3 硅谷课堂功能架构 1.4 硅谷课堂技术架构 1. ...

最新文章

  1. XCTF-Reverse:game(涉及异或脚本编写)
  2. linux开发板显示百叶窗图片,03Linux命令操作2
  3. OPENWRT传感器实验
  4. django 1.8 官方文档翻译: 8-3 点击劫持保护
  5. pandas多列同时赋值_在pandas DataFram中减去多列并追加结果
  6. Cesium:实现动态画点、线并测距
  7. 调用mysql1045解决_MySQL 1045错误的解决方法
  8. 【人脸识别】基于matlab GUI灰度化教室人数统计【含Matlab源码 602期】
  9. linux 进程间通信机制(IPC机制)一消息队列
  10. html怎样 做二级菜单,HTML制作二级下拉菜单的方法步骤
  11. 一幅长文细学华为MRS大数据开发(一)——大数据时代的挑战和机遇
  12. 动态修改窗口标题和类名
  13. Java Web实战详细教程(十一)贯穿项目搭建+CSS修饰前端页面
  14. Python 发邮件
  15. 《数据库系统》(六)物理数据库设计
  16. 条形码数据的批量制作用什么软件?
  17. [硬件]导热垫(Thermal Pad)和导热过孔(Via for thermal pad)
  18. CSS 入门2(样式属性+元素溢出+显示特性+盒子模型)
  19. Windows ❀ 使用CMD配置或修改IP地址与DNS命令
  20. 基于华硕路由器官方固件搭建个人Web服务器

热门文章

  1. CodeForces 359D (数论+二分+ST算法)
  2. sqlserver学习日记之一
  3. Could not execute SQL statement.
  4. Kafka2.5->Flink1.12->Mysql8(Jark实验改为DDL形式)
  5. 通过显示当前 python 程序占用的内存大小来比较生成器和迭代器(转载)
  6. xfce4终端的字体颜色修改
  7. flink下载以及兼容性问题
  8. eclipse插件镜像改为国内镜像
  9. ubuntu16.04下面git与github对应起来
  10. python2.7下面字节数组(ByteArray)和16进制字符串(HexString)转化