Android 开发问题:Cannot resolve method ‘repeat‘ in ‘String‘

java 复制代码
public static String desensitizeIdCard(String idCard) {
    if (idCard == null || idCard.isEmpty()) {
        return idCard;
    }

    // 去除空格
    idCard = idCard.trim();
    int length = idCard.length();

    // 长度小于等于 10 位时,直接返回原值,实际身份证号至少 15 位
    if (length <= 10) {
        return idCard;
    }

    String prefix = idCard.substring(0, 6);
    String suffix = idCard.substring(length - 4);
    int starCount = length - 10;

    return prefix + repeatChar('*', starCount) + suffix;

    return prefix + "*".repeat(starCount) + suffix;
}
  • 在 Android 开发中,上述代码出现如下错误信息

    Cannot resolve method 'repeat' in 'String'

问题原因
  • String 的 repeat 是 Java 11 才引入的方法,项目使用的是 Java 8 或更低版本
处理策略
  • 提供兼容 Java 8 的实现
java 复制代码
private static String repeatChar(char c, int count) {
    if (count <= 0) {
        return "";
    }
    StringBuilder sb = new StringBuilder(count);
    for (int i = 0; i < count; i++) {
        sb.append(c);
    }
    return sb.toString();
}

public static String desensitizeIdCard(String idCard) {
    if (idCard == null || idCard.isEmpty()) {
        return idCard;
    }

    // 去除空格
    idCard = idCard.trim();
    int length = idCard.length();

    // 长度小于等于 10 位时,直接返回原值,实际身份证号至少 15 位
    if (length <= 10) {
        return idCard;
    }

    String prefix = idCard.substring(0, 6);
    String suffix = idCard.substring(length - 4);
    int starCount = length - 10;

    return prefix + repeatChar('*', starCount) + suffix;
}
相关推荐
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
千里马学框架4 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台4 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖4 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
AFinalStone4 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
此时不提桶,更待何时4 天前
01-06-A-JVM排查实战详解
java·jvm