Java判斷字符串是否包含指定子串的常用方法
這是一個(gè)在Java中判斷字符串是否包含指定子串的常用方法。讓我詳細(xì)解釋一下:
含義解釋
path.indexOf("client/AppExamList.jsp?username=") != -1
這句話的意思是:檢查字符串 path 中是否包含子串 "client/AppExamList.jsp?username="。
工作原理
indexOf() 方法:返回子串在字符串中第一次出現(xiàn)的位置(索引)
- 如果找到:返回子串開(kāi)始位置的索引(0或正整數(shù))
- 如果沒(méi)找到:返回
-1
!= -1:判斷是否不等于 -1
- 如果
indexOf()返回值不是 -1,說(shuō)明找到了子串 - 如果
indexOf()返回值是 -1,說(shuō)明沒(méi)找到子串
示例
String path1 = "/app/client/AppExamList.jsp?username=john";
String path2 = "/app/admin/dashboard.jsp";
// 示例1:包含子串
boolean result1 = path1.indexOf("client/AppExamList.jsp?username=") != -1;
// result1 = true,因?yàn)檎业搅?
// 示例2:不包含子串
boolean result2 = path2.indexOf("client/AppExamList.jsp?username=") != -1;
// result2 = false,因?yàn)闆](méi)找到
實(shí)際應(yīng)用場(chǎng)景
這種寫法常用于:
- URL路徑檢查
- 文件路徑過(guò)濾
- 權(quán)限驗(yàn)證(檢查特定頁(yè)面或功能)
- 日志分析
現(xiàn)代替代寫法
在Java 1.5+中,可以使用更直觀的 contains() 方法:
// 傳統(tǒng)寫法
if (path.indexOf("client/AppExamList.jsp?username=") != -1) {
// 找到了
}
// 現(xiàn)代寫法(推薦)
if (path.contains("client/AppExamList.jsp?username=")) {
// 找到了
}
注意點(diǎn)
- 大小寫敏感:
indexOf()是大小寫敏感的 - 精確匹配:需要完全匹配整個(gè)子串
- 位置無(wú)關(guān):只關(guān)心是否包含,不關(guān)心在哪個(gè)位置
所以,你的這行代碼就是在判斷 path 字符串是否包含特定的URL路徑模式。
到此這篇關(guān)于Java判斷字符串是否包含指定子串的常用方法的文章就介紹到這了,更多相關(guān)Java判斷字符串包含指定子串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot利用Junit動(dòng)態(tài)代理實(shí)現(xiàn)Mock方法
說(shuō)到Spring Boot 單元測(cè)試主要有兩個(gè)主流集成分別是Mockito,Junit,這個(gè)各有特點(diǎn),在實(shí)際開(kāi)發(fā)中,我想要的測(cè)試框架應(yīng)該是這個(gè)框架集成者,本文給大家介紹了SpringBoot利用Junit動(dòng)態(tài)代理實(shí)現(xiàn)Mock方法,需要的朋友可以參考下2024-04-04
java 在Jetty9中使用HttpSessionListener和Filter
這篇文章主要介紹了java 在Jetty9中使用HttpSessionListener和Filter的相關(guān)資料,需要的朋友可以參考下2017-06-06
Mybatis Order by動(dòng)態(tài)參數(shù)防注入方式
這篇文章主要介紹了Mybatis Order by動(dòng)態(tài)參數(shù)防注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
java對(duì)接第三方接口的三種實(shí)現(xiàn)方式
這篇文章主要介紹了java對(duì)接第三方接口的三種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-05-05

