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

If Else语句返回错误值:播放列表类型判断异常求助

修复播放列表类型判断的问题

嘿,我一眼就发现你代码里的两个关键问题啦,这就是为什么主播放列表URL会被误判的原因:

1. 字符串比较用错了方式

Java里的==运算符是用来比较对象引用地址的,而不是字符串的实际内容。哪怕两个字符串内容完全一样,只要它们是不同的对象,==就会返回false。你应该用equals()方法来比较字符串内容:

if (mediaRecord.equals(lastRecord)) {

如果想忽略大小写的话,还可以用equalsIgnoreCase()来适配更多场景。

2. 固定索引截取字符串太脆弱

你用substring(399)来截取字符串,这完全依赖于输入URL的长度刚好是某个固定值——万一URL的前缀长度发生变化(比如域名调整、参数增减),这行代码就会截取到错误的内容,甚至抛出IndexOutOfBoundsException。

更稳妥的做法是直接判断字符串是否以目标后缀结尾,用endsWith()方法,连截取步骤都能省去:

// 直接判断返回的URL是否以主播放列表标识结尾
if (output.endsWith("gear4/prog_index.m3u8")) {
    System.out.println("This is a master playlist");
} else {
    System.out.println("This is a simple playlist");
}

这样修改之后,不管URL前缀怎么变,只要结尾是你指定的主播放列表标识,就能准确判断,同时也彻底解决了字符串比较的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:40:19