日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 中判断一个字符串是否包含另外一个字符串的方法

發布時間:2025/3/12 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 中判断一个字符串是否包含另外一个字符串的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一:indexOf(String s)

可以配合indexOf(String s)的使用,如果包含,返回的值是包含該子字符串在父類字符串中起始位置;如果不包含必定全部返回值為-1

public void test02() {String str1="張三";String str2="是一個張三大笨蛋";if(str2.indexOf(str1)!=-1) {System.out.println("存在包含關系");}else {System.out.println("不存在包含關系");}}

方法二:contains()

String類型有一個方法:contains(),該方法是判斷字符串中是否有子字符串。如果有則返回true,如果沒有則返回false。

package api.api;public class App1 {public static void main(String[] args) {String num = "WKCON190400111";if (num.contains("CON")) {System.out.println(1);} else {undefinedSystem.out.println(2);}} }輸出結果: 1

String.indexOf與String.contains效率測試

String.indexOf與String.contains都是判斷字符串是否包含另一個字符串的方法。String.indexOf存在返回第一個字符索引位置,不存才返回-1;String.contains存在返回true,不存在返回false。

現在測試兩個方法的效率,不區分大小寫判斷。一個字符串判斷是否含有48個單詞中的單詞,執行一百萬次。

結論 : String.indexOf 效率更高。 (或許我的測試方法有誤,歡迎指正)

先上結果,如下

1000000*48String.contains 耗時:4691 ms 1000000*48String.indexOf 耗時:31 ms ^str1:全部存在(小寫)-------------------------------------------------------------------1000000*48String.contains 耗時:3735 ms 1000000*48String.indexOf 耗時:17 ms ^str2:全部存在(大寫)-------------------------------------------------------------------1000000*48String.contains 耗時:37 ms 1000000*48String.indexOf 耗時:14 ms ^str3:部分存在------------------------------------------------------------------------1000000*48String.contains 耗時:17 ms 1000000*48String.indexOf 耗時:14 ms ^str4:不存在(數字、字符、字母)----------------------------------------------------------1000000*48String.contains 耗時:16 ms 1000000*48String.indexOf 耗時:16 ms ^str5:不存在(字母)--------------------------------------------------------------------1000000*48String.contains 耗時:17 ms 1000000*48String.indexOf 耗時:14 ms ^str6:不存在(數字)--------------------------------------------------------------------1000000*48String.contains 耗時:17 ms 1000000*48String.indexOf 耗時:14 ms ^str7:不存在(字符)--------------------------------------------------------------------

測試代碼如下

public class StringContainsOrIndexOfVelocity {private static final String base = "article.add,article.update,article.delete,article.view," +"category.add,category.update,category.delete,category.view," +"user.add,user.update,user.delete,user.view," +"role.add,role.update,role.delete,role.view," +"news.add,news.update,news.delete,news.view," +"category.add,category.update,category.delete,category.view," +"Threading.add,Threading.update,Threading.delete,Threading.view," +"System.add,System.update,System.delete,System.view," +"Generic.add,Generic.update,Generic.delete,Generic.view," +"Collections.add,Collections.update,Collections.delete,Collections.view," +"Tasks.add,Tasks.update,Tasks.delete,Tasks.view," +"CslApp.add,CslApp.update,CslApp.delete,CslApp.view";private static final String[] bases = base.toUpperCase().split(",");private static final String str1 = base;private static final String str2 = base.toUpperCase();private static final String str3 = "ns.add,Collections.update,Collections.delete,Collections.ving.add,Threading.update,Threading.delete,Threading.add,role.update,role.delete,role.vietions.1";private static final String str4 = "klsjflsjdfoadsfi;jadls;fjoashgewnaiefahefoia274923472395674358920374uy3fh2f92yfh02ydsuhawe9f''''''//>>>>><<<~~~~!!@#$%^&&hrhfa8fewy7rt23984g23fhaiouf";private static final String str5 = "skdhlskdjfasd;faioegneohfaeofjaoeihfjaopihfeoasmgvlandihfawieughfyoiebfinlkjdsfoiajheiohioejfaesafkhjasdhflakdjsfasdfaldfadfsdjflsfjaldfjlajdflajldjflkaf";private static final String str6 = "239875824368517230941327041230740471674083295738473297589327492347239567435892037409827304203406324672937027394623764170324671324891748192374937489273489";private static final String str7 = "`--==-`-=-=-`=-`=-`==-@#$%^&*((*&^%$#$#$@#@##!@#$$%&^*()()())>><:;'''''''//>>>>><<<~~~~!!@#$%^&&*@#$%^&*()#$%^&*(*&^%$#@#$%^&*(*&^%$#@!@#$%^&*(*&^%$#";public static void main(String[] args) {int count = 1000000;test(str1, count);System.out.println("^str1:全部存在(小寫)-------------------------------------------------------------------");System.out.println();test(str2, count);System.out.println("^str2:全部存在(大寫)-------------------------------------------------------------------");System.out.println();test(str3, count);System.out.println("^str3:部分存在------------------------------------------------------------------------");System.out.println();test(str4, count);System.out.println("^str4:不存在(數字、字符、字母)----------------------------------------------------------");System.out.println();test(str5, count);System.out.println("^str5:不存在(字母)--------------------------------------------------------------------");System.out.println();test(str6, count);System.out.println("^str6:不存在(數字)--------------------------------------------------------------------");System.out.println();test(str7, count);System.out.println("^str7:不存在(字符)--------------------------------------------------------------------");}private static void test(String str, int count) {str = str.toUpperCase();long t = System.currentTimeMillis();for (int i = 0; i < count; i++) {for (String s : bases) {if (str.contains(s)) {}}}long t2 = System.currentTimeMillis();System.out.println(count + "*" + bases.length + " 次 String.contains 耗時:" + (t2 - t) + " ms");for (int i = 0; i < count; i++) {for (String s : bases) {if (str.indexOf(s) != -1) {}}}long t3 = System.currentTimeMillis();System.out.println(count + "*" + bases.length + " 次 String.indexOf 耗時:" + (t3 - t2) + " ms");}}

List.contains和String.contains的區別

如果不把List里的元素遍歷出來再用contains過濾關鍵字,直接用List.contains其效果其實是底層遍歷List會用equals去匹配,效果是嚴格的判相等的方法。
而String.contains是用數組去截取每段內容輪流匹配,類似于模糊查詢的效果。

總結

以上是生活随笔為你收集整理的Java 中判断一个字符串是否包含另外一个字符串的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲乱码中文字幕久久孕妇黑人 | 久久最新视频 | 色哟哟国产精品色哟哟 | 禁漫天堂在线 | 欧美自拍偷拍第一页 | 国产成人在线视频免费观看 | 光棍影院手机版在线观看免费 | 亚洲专区区免费 | 97视频在线看 | 懂色av一区二区三区在线播放 | 欧美性生交xxxxx久久久 | av黄色在线播放 | 国产精品日韩在线观看 | 欧美一级免费看 | 亚洲综合五月天 | 草草影院地址 | 亚洲色图 欧美 | 精品国产综合区久久久久久 | 密色av | 一区二区三区人妻 | 国产日产欧美一区二区 | 精品一区二区三区视频日产 | 伊人久久综合影院 | 国产aⅴ无码片毛片一级一区2 | 少妇福利在线 | 色婷婷777| 四虎5151久久欧美毛片 | 青青草网站 | 欧美亚洲欧美 | 麻豆国产网站 | 欧美一区二区激情视频 | 夜夜干天天操 | 强行挺进白丝老师里呻吟 | 一级aaaa毛片 | 中国黄色三级视频 | aaaa黄色| 久久成年视频 | 国产白浆一区二区 | 黄色大片aaa| 亚洲人人夜夜澡人人爽 | 超碰人人人人人人人 | 加勒比在线免费视频 | 亚洲最新在线观看 | 国产成人精品一区二区无码呦 | 国产女主播一区 | 深夜福利视频网站 | 91天堂视频| 亚洲成a人无码 | 老司机精品视频在线播放 | 免费看60分钟黄视频 | 新x8x8拨牐拨牐永久免费影库 | 色av导航 | 亚洲国产成人精品视频 | 欧美性aaa | 91久操| 国产精品视频网址 | 午夜精产品一区二区在线观看的 | 91精品视频国产 | 黄色片大全 | 亚洲av无码国产精品永久一区 | 成年人视频在线免费看 | 亚洲熟女乱色一区二区三区久久久 | 日日噜夜夜噜 | 中文字幕一区二区三区夫目前犯 | 最近中文字幕免费视频 | 日韩精品一区二区三区四区五区 | 影音先锋在线看片资源 | 国产在线www | 亚洲第一视频 | xiuxiuavnet| 亚洲欧美日韩国产 | 美国黄色一级视频 | 黄色在线视频网址 | 国产精品www | 久久国语对白 | 拔插拔插华人 | 午夜精品久久久久久久久久久久久 | 亚洲国产中文字幕在线观看 | 91国产大片 | 亚洲免费在线观看av | 欧美精品v | 国产欧美日韩专区 | a国产 | 色播在线视频 | 麻豆黄色片| 久久精品99 | 蜜桃香蕉视频 | 波多野结衣视频网址 | 午夜www| 欧美成年人在线视频 | 蜜乳av懂色av粉嫩av | 黄色va| 欧美综合国产 | 黄色动漫软件 | 天天爽天天做 | 91久久精品国产91性色tv | 欧美国产成人精品一区二区三区 | 久久精工是国产品牌吗 | 69欧美视频 |