本文介绍关于对字符char的简单操作,char,Java基本数据类型之一,底层保存的的是两个字节的int整数。默认显示的是Unicode这个int整数索引位置的字符。具体的就不详解了。
版本1:以下拥有查询是否数字,是否字母,是否大小写字母,获得字符的int表示。
虽然简单,也代表能够增强。
package cn.util;
/**
* 字符工具类: 一些简单的操作方法。
*
* @author jxlys @version1.0
*/
public class CharUtil {
/**
* 返回字符对应的int值.
*
* @param c
*/
public static int getInt(char c) {
return (int) c;
}
/**
* 检测是否字母
*
* @param c
* @return
*/
public static boolean isLetterCharacter(char c) {
return isUpperCharacter(c) || isLowerCharacter(c) ? true : false;
}
/**
* 检测大写
*
* @param c
*/
public static boolean isLowerCharacter(char c) {
return (c >= 97 && c < 123) ? true : false;
}
/**
* 检测是否数字.
*
* @param c
*/
public static boolean isNumber(char c) {
return c >= 48 && c < 58 ? true : false;
}
/**
* 检测小写.
*
* @param c
*/
public static boolean isUpperCharacter(char c) {
return (c >= 65 && c < 91) ? true : false;
}
private CharUtil() {// 不允许使用构造方法
throw new RuntimeException();
}
}
Java的Char的简单工具类CharUtil2.0
这个版本的工具类有了一点实用意义了。
版本新增:字母转大写或小写,字母的轻微加密(偏移加密),字母定向随机数加密.
package cn.util;
import java.util.Random;
/**
* 字符工具类:
*
* @author JXLYS @version2.0
*/
public class CharUtil {
/**
* 字符偏移加
*
* @param c
* 原字符
* @param i
* 加值
*/
public static char characterAdd(char c, int i) {
return checkOutOfCharacter(c + i);
}
/**
* 定向获取随机数,并且对字符偏移加。
*
* @param c
* 原字符
* @param num
* 定向随机数设定值
* @param size
* 随机添加的大小
*/
public static char characterRandomAdd(char c, int num, int size) {
return checkOutOfCharacter(c + new Random(num).nextInt(size));
}
/**
* 定向获取随机数,并且对字符偏移减。
*
* @param c
* 原字符
* @param num
* 定向随机数设定值
* @param size
* 随机添加的大小
*/
public static char characterRandomSub(char c, int num, int size) {
return checkOutOfCharacter(c - new Random(num).nextInt(size));
}
/**
* 字符偏移减少
*
* @param c
* 原字符
* @param i
* 减值
*/
public static char characterSub(char c, int i) {
return checkOutOfCharacter(c - i);
}
private static char checkOutOfCharacter(int c) {// 检测越界
while (true) {
if (c < 0)
c += 65535;
else if (c > 65535)
c -= 65535;
else {
break;
}
}
return (char) c;
}