【JAVA】为char所提供包装类——Character类

简介: 【JAVA】为char所提供包装类——Character类

前言

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类。


Character 类

Java语言内置数据类型char提供了包装类Character类

Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象

Java Character 类用于表示字符(单个字符),其中每个字符都被赋以一个唯一的数字值。Character 类提供了许多实用的方法来操作和测试字符。

它用于表示单个字符的值,是 Java 编程中不可或缺的类之一


装箱(boxing)

装箱转换是指将一个值类型隐式地转换成一个object 类型,或者把这个值类型转换成一个被该值类型应用的接口类型interface-type

把一个值类型的值装箱,也就是创建一个object 实例并将这个值复制给这个object。

拆箱(unboxing)

和装箱转换正好相反,拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型

拆箱的过程分为两步:

  1. 检查这个对象实例,看它是否为给定的值类型的装箱值。
  2. 把这个实例的值拷贝给值类型的变量。


转义序列

转义序列是指以反斜线(\)开头的特殊字符序列用来表示一些不能直接输入到代码中的字符或控制字符

Java的转义序列

项目 Value
转义序列 描述
\t 在文中该处插入一个tab键
\b 在文中该处插入一个后退键
\n 在文中该处换行
\r 在文中该处插入回车
\f 在文中该处插入换页符
在文中该处插入单引号
" 在文中该处插入双引号
\ 在文中该处插入反斜杠

实例

public class Test {
   public static void main(String[] args) {
      System.out.println("\"hello world!\"");
   }
}

Character 方法

isDigit()

isDigit() 方法用于检查给定字符是否是数字:

char ch = '9';
boolean isDigit = Character.isDigit(ch); // 返回 true

isLetter()

isLetter() 方法用于检查给定字符是否是字母:

char ch = 'a';
boolean isLetter = Character.isLetter(ch); // 返回 true

isWhitespace()

isWhitespace() 方法用于检查给定字符是否是空格:

char ch = ' ';
boolean isWhitespace = Character.isWhitespace(ch); // 返回 true

toUpperCase()

toUpperCase() 方法用于将给定字符转换为大写:

char ch = 'a';
char upperCaseCh = Character.toUpperCase(ch); // 返回 'A'

toLowerCase()

toLowerCase() 方法用于将给定字符转换为小写:

char ch = 'A';
char lowerCaseCh = Character.toLowerCase(ch); // 返回 'a'

compareTo()

compareTo() 方法比较两个字符的大小,如果相等则返回 0,如果第一个字符大于第二个字符则返回正整数,否则返回负整数。

char ch1 = 'a';
char ch2 = 'b';
int result = Character.compareTo(ch1, ch2); // 返回 -1

isAlphabetic()

isAlphabetic() 方法用于检查给定字符是否是字母(包括大写字母和小写字母):

char ch = 'a';
boolean isAlphabetic = Character.isAlphabetic(ch); // 返回 true

isUpperCase()

isUpperCase() 方法用于检查给定字符是否是大写字母:

char ch = 'A';
boolean isUpperCase = Character.isUpperCase(ch); // 返回 true

isLowerCase()

isLowerCase() 方法用于检查给定字符是否是小写字母:

char ch = 'a';
boolean isLowerCase = Character.isLowerCase(ch); // 返回 true

isLetterOrDigit()

isLetterOrDigit() 方法用于检查给定字符是否是字母或数字:

char ch = 'a';
boolean isLetterOrDigit = Character.isLetterOrDigit(ch); // 返回 true

isJavaIdentifierStart()

isJavaIdentifierStart() 方法用于检查给定字符是否可以作为 Java 标识符的第一个字符:

char ch = '_';
boolean isJavaIdentifierStart = Character.isJavaIdentifierStart(ch); // 返回 true

isJavaIdentifierPart()

isJavaIdentifierPart() 方法用于检查给定字符是否可以作为 Java 标识符的一部分:

char ch = '1';
boolean isJavaIdentifierPart = Character.isJavaIdentifierPart(ch); // 返回 true

digit()

digit() 方法用于将一个字符转换为一个整数值。第一个参数为要转换的字符,第二个参数为要使用的基数。如果字符不是数字,则返回 -1。

char ch = '9';
int digit = Character.digit(ch, 10); // 返回 9

getNumericValue()

getNumericValue() 方法用于获取给定字符的数值。如果字符不是数字,则返回 -1。

char ch = '9';
int numericValue = Character.getNumericValue(ch); // 返回 9

reverseBytes()

reverseBytes() 方法用于将给定字符的字节顺序反转。

char ch = 'a';
char reversedBytesCh = Character.reverseBytes(ch); // 返回 '�'

isWhitespace()

isWhitespace() 方法用于判断字符是否为空格,包括空格、制表符、换行符等。

char ch = ' ';
boolean isWhitespace = Character.isWhitespace(ch); // 返回 true

isJavaIdentifier()

isJavaIdentifier() 方法用于检查给定字符串是否是合法的 Java 标识符,即第一个字符是字母、下划线或美元符号,后面的字符可以是字母、数字、下划线或美元符号。

String str = "hello_world";
boolean isJavaIdentifier = Character.isJavaIdentifier(str.charAt(0)) && str.chars().skip(1).allMatch(Character::isJavaIdentifierPart); // 返回 true


目录
相关文章
|
1天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
Java
【JAVA基础篇教学】第二篇:Java包装类
【JAVA基础篇教学】第二篇:Java包装类
|
1天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
2天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
9 0
|
2天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
11 0
|
2天前
|
Java API 调度
【Java多线程】Thread类的基本用法
【Java多线程】Thread类的基本用法
6 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
9 0
|
3天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
26 1
|
4天前
|
Java 开发者
在Java中,接口和超类在多态性中扮演着重要的角色
Java中的接口和超类支持多态性,接口作为规范,允许多继承和回调机制;超类提供基类,实现代码重用和方法重写,两者共同促进代码的灵活性和可维护性。
26 10
|
4天前
|
Java
Java并发Futures和Callables类
Java程序`TestThread`演示了如何在多线程环境中使用`Futures`和`Callables`。它创建了一个单线程`ExecutorService`,然后提交两个`FactorialService`任务,分别计算10和20的阶乘。每个任务返回一个`Future`对象,通过`get`方法获取结果,该方法会阻塞直到计算完成。计算过程中模拟延迟以展示异步执行。最终,打印出10!和20!的结果。