摘要:常用工具類封裝方法注釋銀行卡號(hào)脫敏名字脫敏規(guī)則,張三豐,脫敏為豐對(duì)手機(jī)號(hào)進(jìn)行脫敏對(duì)身份證號(hào)進(jìn)行脫敏元轉(zhuǎn)為無小數(shù)點(diǎn)的分
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; } /** * 方法注釋: 銀行卡號(hào)脫敏 * @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; } /** * 名字脫敏 * 規(guī)則,張三豐,脫敏為:**豐 */ 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; } /** * 對(duì)手機(jī)號(hào)進(jìn)行脫敏 * @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; } /** * 對(duì)身份證號(hào)進(jìn)行脫敏 * @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; } /** * 元轉(zhuǎn)為無小數(shù)點(diǎn)的分 * * @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); }}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/121608.html
摘要:打印字符串我在人民廣場吃著炸雞打印字符串模板我在吃著炸雞人民廣場我在人民廣場吃著炸雞打印數(shù)組日志工具封裝的日志工廠兼容了各大日志框架,使用起來也非常簡便。 前言 無...
摘要:不用自己來創(chuàng)建,而是通過池來獲取對(duì)象使用完后,調(diào)用的方法也不會(huì)真的關(guān)閉,而是把歸還給池連接池技術(shù)可以完成對(duì)象的再次利用接口為數(shù)據(jù)庫連接池提供了公共的接口各個(gè)廠商需要讓自己的連接池實(shí)現(xiàn)這個(gè)接口。 1.DButils工具類的介紹個(gè)三個(gè)核心類 A: 概述 DBUtils是java編程中的數(shù)據(jù)庫操作實(shí)用工具,小巧簡單實(shí)用。 DBUtils封裝了對(duì)JDBC的操作,簡化了JDBC操作,可以少...
摘要:所以,我實(shí)現(xiàn)了一個(gè)稱為的類來應(yīng)用反射。現(xiàn)在流行的語言大都支持反射。這組內(nèi)省主要是針對(duì)類進(jìn)行操作的,能夠獲取類的屬性信息。可以看到,通過的內(nèi)省機(jī)制,解決了的最關(guān)鍵的問題。在封裝反射的時(shí)候,會(huì)充分考慮到各種情況。 BeanMap 學(xué)習(xí)具體的技術(shù)工具的好辦法就是些Demo、造輪子。所以,我實(shí)現(xiàn)了一個(gè)稱為BeanMap的類來應(yīng)用java反射API。 這個(gè)BeanMap的功能是將一個(gè)Bean包裝...
摘要:因?yàn)橥ǔ0巡皇褂眯揎椀某蓡T變量和方法也稱為實(shí)例變量實(shí)例方法。形參個(gè)數(shù)可變的方法允許定義形參個(gè)數(shù)可變的參數(shù),從而允許為方法指定數(shù)量不確定的形參。方法返回值類型修飾符等,與方法重載沒有任何關(guān)系。 類和對(duì)象 定義類 面向?qū)ο蟮某绦蛟O(shè)計(jì)過程中有兩個(gè)重要概念:類(class)和對(duì)象(object,也被稱為實(shí)例,instance),其中類是某一批對(duì)象的抽象,可以把類理解成某種概念;對(duì)象才是一個(gè)具體...
閱讀 3349·2021-09-30 09:47
閱讀 2731·2021-08-18 10:22
閱讀 2518·2021-08-16 10:49
閱讀 2883·2019-08-30 15:53
閱讀 2732·2019-08-29 16:14
閱讀 3185·2019-08-28 18:18
閱讀 3228·2019-08-26 13:21
閱讀 786·2019-08-26 12:02