java实现数字替换成*,求大神指点

我现在要实现150****8558,这样的样式,我是新手,还请大神指点,最好是贴上代码。谢谢!

 /**
     * 对一个字符串,指定字符“段”替换成对应的字符
     * @param resStr 字符串
     * @param begin 开始
     * @param end   结束
     * @param replaceStr 替换字符
     * @return
     */
    private static String strReplace(String resStr, int begin , int end, String replaceStr) {

        //判断是否满足条件
        if(resStr == null || resStr.length()<end)
            return "";

        //转为为String数组
        String resStrs[] = {resStr.substring(0,begin),resStr.substring(begin,end),
                resStr.substring(end,resStr.length())};

        //对需要替换的字符进行替换
        resStrs[1] = resStrs[1].replaceAll(".",replaceStr);

        return resStrs[0]+resStrs[1]+resStrs[2];
    }
     public static String formatNumber(String number, int start, int end, String format) {
        if (TextUtils.isEmpty(number)) {
            return "";
        }
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(number.substring(0, start));
        for (int i = start; i <= end; i++) {
            stringBuilder.append("*");
        }
        stringBuilder.append(number.substring(end + 1, number.length()));
        return stringBuilder.toString();
    }

public static String getEncrypt(String num) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < num.length(); i++) {
if (i < 3 || i > 7) {
buffer.append(num.charAt(i));
} else {
buffer.append('*');
}
}
System.out.println(buffer.toString());
return buffer.toString();
}