华为部分机型对集合排序时会出现错乱的问题

项目中有一个页面需要对车辆品牌进行排序,但是遇到个别机型出现排序错乱的问题

public static char getFirstLetter(String name) {
    String letter = "#";

    if (!TextUtils.isEmpty(name.trim())) {
        String first = name.trim().substring(0, 1).toUpperCase(Locale.CHINESE);

        if (first.matches("[A-Z]"))
            letter = first;
        else {
            ArrayList<HanziToPinyin.Token> tokens = HanziToPinyin.getInstance().get(first);

            if (tokens != null && tokens.size() > 0) {
                String firstPinyin = tokens.get(0).target.substring(0, 1).toUpperCase(Locale.CHINESE);
                if (firstPinyin.matches("[A-Z]")) {
                    letter = firstPinyin;
                }
            }
        }
    }

    return letter.charAt(0);
}

判断得知是由上个方法导致问题的出现,但是我用别的方法替换之后,发现并没有什么效果。

  {
            "alphabetId": 2,
            "alphabetName": "B",
            "id": 25,
            "logoImg": "//car0.autoimg.cn/logo/brand/100/129302239751932500.jpg",
            "name": "标致"
          },

这时我发现接口返回的数据里面是有首字母字段的,不需要手机端通过文字获取首字母,这样就避开了这个方法,由服务端转换好给到手机端,按照这个思路之后,果然之前的问题就没有再出现了。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值