Java的Char的简单工具类CharUtil2.0
16lz
2021-01-22
这个版本的工具类有了一点实用意义了。
版本新增:字母转大写或小写,字母的轻微加密(偏移加密),字母定向随机数加密.
1 package cn.util; 2 3 import java.util.Random; 4 5 /** 6 * 字符工具类: 7 * 8 * @author JXLYS @version2.0 9 */ 10 public class CharUtil { 11 12 /** 13 * 字符偏移加 14 * 15 * @param c 16 * 原字符 17 * @param i 18 * 加值 19 */ 20 public static char characterAdd(char c, int i) { 21 return checkOutOfCharacter(c + i); 22 } 23 24 /** 25 * 定向获取随机数,并且对字符偏移加。 26 * 27 * @param c 28 * 原字符 29 * @param num 30 * 定向随机数设定值 31 * @param size 32 * 随机添加的大小 33 */ 34 public static char characterRandomAdd(char c, int num, int size) { 35 return checkOutOfCharacter(c + new Random(num).nextInt(size)); 36 } 37 38 /** 39 * 定向获取随机数,并且对字符偏移减。 40 * 41 * @param c 42 * 原字符 43 * @param num 44 * 定向随机数设定值 45 * @param size 46 * 随机添加的大小 47 */ 48 public static char characterRandomSub(char c, int num, int size) { 49 return checkOutOfCharacter(c - new Random(num).nextInt(size)); 50 } 51 52 /** 53 * 字符偏移减少 54 * 55 * @param c 56 * 原字符 57 * @param i 58 * 减值 59 */ 60 public static char characterSub(char c, int i) { 61 return checkOutOfCharacter(c - i); 62 } 63 64 private static char checkOutOfCharacter(int c) {// 检测越界 65 while (true) { 66 if (c < 0) 67 c += 65535; 68 else if (c > 65535) 69 c -= 65535; 70 else { 71 break; 72 } 73 } 74 return (char) c; 75 } 76 77 /** 78 * 获取指定位置的字符。 79 * 80 * @param i 81 */ 82 public static char getChar(int i) { 83 return checkOutOfCharacter(i); 84 } 85 86 /** 87 * 返回字符对应的int值. 88 * 89 * @param c 90 */ 91 public static int getInt(char c) { 92 return (int) c; 93 } 94 95 /** 96 * 检测是否字母。 97 * 98 * @param c 99 */ 100 public static boolean isLetterCharacter(char c) { 101 return isUpperCharacter(c) || isLowerCharacter(c) ? true : false; 102 } 103 104 /** 105 * 检测是否大写字母 106 * 107 * @param c 108 */ 109 public static boolean isLowerCharacter(char c) { 110 return (c >= 97 && c < 123) ? true : false; 111 } 112 113 /** 114 * 检测是否数字. 115 * 116 * @param c 117 */ 118 public static boolean isNumberCharacter(char c) { 119 return c >= 48 && c < 58 ? true : false; 120 } 121 122 /** 123 * 小写字母转化大写字母 124 * 125 * @param c 126 */ 127 public static boolean isUpperCharacter(char c) { 128 return (c >= 65 && c < 91) ? true : false; 129 } 130 131 /** 132 * 设置字符的增加或删除。 133 * 134 * @param c 135 * @param i 136 */ 137 public static char setCharacterAdd(char c, int i) { 138 return checkOutOfCharacter(c + i); 139 } 140 141 /** 142 * 大写字母转化为小写,不在范围内否则原样输出。 143 * 144 * @param c 145 */ 146 public static char toLowerCharacter(char c) { 147 return isUpperCharacter(c) ? getChar(c + 32) : c; 148 } 149 150 /** 151 * 小写字母转化为大写字母,不在范围内否则原样输出。 152 * 153 * @param c 154 */ 155 public static char toUpperCharacter(char c) { 156 return isLowerCharacter(c) ? getChar(c - 32) : c; 157 } 158 159 /** 160 * 小写转化大写,大写转化小写,不在范围则不变。 161 * 162 * @param c 163 * @return 164 */ 165 public static char toUpperOrLowerCharacter(char c) { 166 if (isUpperCharacter(c)) 167 return toLowerCharacter(c); 168 else if (isLowerCharacter(c)) 169 return toUpperCharacter(c); 170 return c; 171 } 172 173 private CharUtil() {// 不允许使用构造方法 174 throw new RuntimeException(); 175 } 176 }
更多相关文章
- 使用字符串参数调用AndroidJni静态方法。
- java中匹配字符串中的中文字符(含中文标点的)
- Java中字符流和字节流到底有什么区别!!!
- java GBK字符转换成为UTF-8编码字符
- String字符串的应用
- java 正则表达式查找某段字符串中所有小写字母开头的单词并统计
- Javascript 检查字符串是否是数字的几种方法
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
- Java正则表达式提取字符