You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化TextView中多值匹配的判断逻辑?

优化方案

方案一:集合循环匹配

先一次性获取文本内容,再把需要匹配的目标值存入集合,循环检查是否包含任意一项,匹配成功后直接退出循环,避免重复操作:

String text = TvC.getText().toString();
// 把要匹配的数值存入集合
Set<String> targetNums = new HashSet<>(Arrays.asList("4", "5", "6", "7", "8", "9", "10"));
for (String num : targetNums) {
    if (text.contains(num)) {
        layoutcenter.setBackgroundResource(R.color.Red);
        break; // 找到匹配项后立即终止循环,减少无效检查
    }
}

方案二:正则表达式匹配

用正则一次性匹配所有目标数值,代码更简洁:

String text = TvC.getText().toString();
// 正则匹配4-9单个数字或完整的"10"
if (text.matches(".*(4|5|6|7|8|9|10).*")) {
    layoutcenter.setBackgroundResource(R.color.Red);
}

这个正则会精准匹配完整的目标值,不会把单独的"1""0"误判为"10"。

两种方案都能替代重复的if判断,后续修改目标数值时,只需调整集合或正则内容即可,维护性更强。

内容的提问来源于stack exchange,提问作者Jezdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:41:07