这个版本的工具类有了一点实用意义了。

版本新增:字母转大写或小写,字母的轻微加密(偏移加密),字母定向随机数加密.

  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 }

更多相关文章

  1. 使用字符串参数调用AndroidJni静态方法。
  2. java中匹配字符串中的中文字符(含中文标点的)
  3. Java中字符流和字节流到底有什么区别!!!
  4. java GBK字符转换成为UTF-8编码字符
  5. String字符串的应用
  6. java 正则表达式查找某段字符串中所有小写字母开头的单词并统计
  7. Javascript 检查字符串是否是数字的几种方法
  8. Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
  9. Java正则表达式提取字符

随机推荐

  1. Android RelativeLayout布局详解
  2. Android操作SQLite数据库
  3. Android中Dialog样式的设置
  4. Android FrameWork Service 之 StatusBar
  5. Android(安卓)锁屏功能
  6. Android(安卓)单页面 音乐播放器和电影播
  7. Android 滚动条属性
  8. Android面试系列文章2018之Android部分Ac
  9. 操作 Android(安卓)模拟器
  10. Android中的人脸检测(静态和动态)