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

Java中如何在String.contains中跳过动态变量子串?

最优实现方式分析

首先明确字符串结构:
原代码中welcomeMessage由三部分拼接而成:"Welcome" + 动态name + ", You have notification!"

要让welcomeMessage.contains("Welcome, You have notification!")返回true,核心是让拼接后的字符串包含目标子串。目标子串的结构是"Welcome" + "" + ", You have notification!",因此最优实现是将name赋值为空字符串"":

String name = "";
String welcomeMessage = "Welcome" + name + ", You have notification!";
// 此时welcomeMessage完全等于目标子串,contains方法必然返回true

如果业务场景中name不能为空,那需要调整welcomeMessage的拼接逻辑来确保目标子串存在:

  • 比如固定在name前后添加分隔符,但这会改变原字符串的语义;
  • 或者直接构造包含目标子串的welcomeMessage,但这会忽略name的动态值,不符合常规业务逻辑。

综上,在不改变原代码拼接逻辑的前提下,让name为空字符串是最直接、性能最优的实现方式——既不需要额外的字符串处理,也完全满足contains方法的返回要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:15:43