资讯专栏INFORMATION COLUMN

java常用工具类封装

lordharrd / 3347人阅读

摘要:常用工具类封装方法注释银行卡号脱敏名字脱敏规则,张三丰,脱敏为丰对手机号进行脱敏对身份证号进行脱敏元转为无小数点的分

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);    }}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/121608.html

相关文章

  • 大聪明教你学Java | Hutool - A set of tools that keep Jav

    摘要:打印字符串我在人民广场吃着炸鸡打印字符串模板我在吃着炸鸡人民广场我在人民广场吃着炸鸡打印数组日志工具封装的日志工厂兼容了各大日志框架,使用起来也非常简便。 前言 无...

    Ververica 评论0 收藏0
  • Java编程基础34——JDBC&DBUtil

    摘要:不用自己来创建,而是通过池来获取对象使用完后,调用的方法也不会真的关闭,而是把归还给池连接池技术可以完成对象的再次利用接口为数据库连接池提供了公共的接口各个厂商需要让自己的连接池实现这个接口。 1.DButils工具类的介绍个三个核心类 A: 概述 DBUtils是java编程中的数据库操作实用工具,小巧简单实用。 DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少...

    svtter 评论0 收藏0
  • 封装BeanMap以及java的反射和内省

    摘要:所以,我实现了一个称为的类来应用反射。现在流行的语言大都支持反射。这组内省主要是针对类进行操作的,能够获取类的属性信息。可以看到,通过的内省机制,解决了的最关键的问题。在封装反射的时候,会充分考虑到各种情况。 BeanMap 学习具体的技术工具的好办法就是些Demo、造轮子。所以,我实现了一个称为BeanMap的类来应用java反射API。 这个BeanMap的功能是将一个Bean包装...

    张巨伟 评论0 收藏0
  • Java 面向对象1 对象 方法 变量 封装

    摘要:因为通常把不使用修饰的成员变量和方法也称为实例变量实例方法。形参个数可变的方法允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参。方法返回值类型修饰符等,与方法重载没有任何关系。 类和对象 定义类 面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体...

    huangjinnan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<