java中char与Character

刷leetcode时定义一个hashmap:

 Map<char, Integer> map = new HashMap<char, Integer>();

不行,应该使用char的包装类Character

 Map<Character, Integer> map = new HashMap<Character, Integer>();

Character是char的包装类,就像Integer和int ,以及Long和long一样。

Character是char的包装类,注意它是一个类,提供了很多方法的。

包装类和基本类型可以自动转换,这是jdk1.5(5.0)的新特性,叫做自动封箱和自动解封
即:

例1:

char ch=‘a’;

Character ch1=ch;//自动封箱

Character c=new Character(a);

char c1=c;//自动解封

例2:

int t=10;

Integer t1=t;//自动封箱

Integer t=new Integer(10);
int t1 = t //自动解封
Character类:
在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。 以确定字符的类别(小写字母,数字,等等)

构造方法:
public Character(char value)

构造一个新分配的 Character 对象,用以表示指定的 char 值

Character类的判断功能:
public static boolean isDigit(char ch)
确定指定字符是否为数字。

public static boolean isLetter(char ch)
确定指定字符是否为字母。

public static boolean isLowerCase(char ch)
确定是否是小写字母字符

public static boolean isUpperCase(char ch)
确定是否大写字母字符

两个转换功能:
public static int toLowerCase(char ch)
使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写。

public static int toUpperCase(char ch)
使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写

参考自:https://blog.csdn.net/jiangxindu1/article/details/39584557
https://blog.csdn.net/scbiaosdo/article/details/80071667

猜你喜欢

转载自blog.csdn.net/sdfgtr/article/details/88430425