java常用工具类封装

import org.apache.commons.lang.StringUtils;import java.math.BigDecimal;public class CommonUtil {public static String safeToString(Object value, String defaultValue) {if (value != null) {return StringUtils.trim(String.valueOf(value));}return defaultValue;}public static Integer safeToInteger (Object obj, Integer defaultValue) {if (obj != null) {return Integer.parseInt(String.valueOf(obj));}return defaultValue;}/*** 方法注释: 银行卡号脱敏* @return*/public static String getHideCardNo(String cardNo){if (StringUtils.isNotBlank(cardNo)) {StringBuffer cardBuffer = new StringBuffer();char[] card = cardNo.toCharArray();if (card.length > 8 && card.length <= 12) {card[card.length - 5] = '*';card[card.length - 6] = '*';card[card.length - 7] = '*';card[card.length - 8] = '*';}if (card.length > 12) {for (int i = 5; i <= 12; i++) {card[card.length - i] = '*';}}int head = card.length%4 + 4;for (int i = 0; i < head; i++) {cardBuffer.append(card[i]);}cardBuffer.append("");for (int i = 0; (i + head)< card.length; i++) {cardBuffer.append(card[i + head]);if ((i+1)%4 == 0) {cardBuffer.append("");}}return cardBuffer.toString().trim();}return cardNo;}/*** 名字脱敏* 规则,张三丰,脱敏为:**丰*/public static String nameDesensitization(String name){if(name==null || name.isEmpty()){return "";}String myName = null;char[] chars = name.toCharArray();if(chars.length==1){myName=name;}if(chars.length==2){myName=name.replace(name.substring(0,1), "*");}if(chars.length>2){myName=name.replaceAll(name.substring(0, chars.length-1), "*");}return myName;}/*** 对手机号进行脱敏* @param phone* @return*/public static String getHidePhone (String phone) {if (StringUtils.isNotBlank(phone)) {phone = phone.replaceAll("(^\\d{3})\\d.*(\\d{4})", "$1****$2");}return phone;}/*** 对身份证号进行脱敏* @param idNumber* @return*/public static String desensitizedIdNumber(String idNumber){if (StringUtils.isNotBlank(idNumber)) {if (idNumber.length() == 15){idNumber = idNumber.replaceAll("(\\w{3})\\w*(\\w{4})", "$1********$2");}if (idNumber.length() == 18){idNumber = idNumber.replaceAll("(\\w{3})\\w*(\\w{4})", "$1***********$2");}}return idNumber;}/*** 元转为无小数点的分** @param price* @return*/public static BigDecimal yuan2Fen(BigDecimal price) {return new BigDecimal(price.multiply(new BigDecimal("100")).longValue());}public static void main(String[] args) {String idNumber = desensitizedIdNumber("421202199805060221");System.out.println(idNumber);}
}

java常用工具类封装相关推荐

  1. java常用工具类和Hutool常用的工具类整理

    java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /*** Scanner 类*/@Testpublic void testScanner() {Sc ...

  2. Java常用工具类StringUtils的常用方法

    Java常用工具类StringUtils的常用方法 1.该工具类是用于操作Java.lang.String类的. 2.StringUtils类在操作字符串是安全的,不会报空指针异常,也正因此,在操作字 ...

  3. 【JavaScript学习】JavaScript 常用工具类封装

    文章目录 1.JavaScript 常用工具类封装 (1)获得浏览器地址所有参数 (2)将json转为get参数 (3)格式校验工具类 (4)数组操作工具类 (5)表单取值工具类 (6)时间转换工具类 ...

  4. Java常用工具类JsonUtils

    Java常用工具类JsonUtils 一.项目添加pom文件 <dependency><groupId>com.google.code.gson</groupId> ...

  5. JAVA常用工具类(实用高效)

    JAVA常用工具类(根据GITHUB代码统计) 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但 ...

  6. Hutool Java常用工具类汇总

    简介 Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的". Hu ...

  7. Java 常用工具类整理

    目录 第一部分:常用的16个工具类 第二部分:java开发常用工具类(正则校验) 第一部分:常用的16个工具类 一.org.apache.commons.io.IOUtils 1.closeQuiet ...

  8. Java常用工具类之异常、包装类、字符串处理类、集合框架实现类、输入输出流、多线程

    集合.多线程和I/O流等 介绍6种常用工具类: 1.如何应用异常处理程序中的问题?2.如何通过包装器类实现基本数据类型的对象化处理?3.字符串处理类String.StringBuilder是如何进行字 ...

  9. Java 常用工具类 Collections 源码分析

    文章出处 文章出自:安卓进阶学习指南 作者:shixinzhang 完稿日期:2017.10.25 Collections 和 Arrays 是 JDK 为我们提供的常用工具类,方便我们操作集合和数组 ...

  10. Java常用工具类整合

    JSON转换工具 package com.taotao.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProces ...

最新文章

  1. 开发时,尤其是最初的版本,只要保持有80%的功能即可
  2. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
  3. 音视频技术开发周刊 | 170
  4. 嵌入式android pdf,Embedded Android 英文原版PDF
  5. mac搭建PHP开发环境
  6. [Erlang 0004] Centos 源代码编译 安装 Erlang
  7. mysql跨服务器查询插入_Oracle跨服务器查询插入数据
  8. 【转】谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  9. oschina mysql limit_如何提高MySQL Limit查询的性能
  10. 样本分布不平衡,机器学习准确率高又有什么用?
  11. API 安全成企业考虑的第一要务
  12. 在TextView中插入图片
  13. cnode系列之登陆注册功能
  14. 【PROTEUS】使用PROTEUS与电脑串口调试助手进行通讯
  15. miner更换owner钱包地址
  16. cdh6 添加新主机后,出现 Error sending messages to firehose
  17. 计算机比赛小组名称和口号,竞赛小组队名和口号
  18. linux gnu升级,GNU/Linux 让Ubuntu 系统版本升级
  19. Android 与 H5 数据的传递
  20. android密码是小黑点,Android自定义密码样式 黑点转换成特殊字符

热门文章

  1. python批量查询ip归属地_IP地址地理信息批量查询小工具
  2. mac 开启android 模拟器,折腾mac的经验积累 2:mac上如何玩安卓模拟器
  3. 【Luat-esp32】2.点屏-st7735
  4. VB.net小技巧——ClickOnce应用程序版本号自动递增
  5. 计算机三级嵌入式系统
  6. Delphi 2007安装问题
  7. 分享 MSDN 下载工具(Word/PDF)
  8. dhl:搜狗五笔输入法
  9. 最简单的又炫的快捷菜单....喜欢的拿起就跑
  10. 学习操作系统心得体会