Java求字符串長(zhǎng)度的方法舉例
方法介紹
在 Java 中,要獲取字符串的長(zhǎng)度,可以使用 String 類的 length() 方法
其語法格式:字符串名.length();
返回的值是int類型的長(zhǎng)度值。
舉例:
String str1 = "我是一個(gè)字符串"; System.out.println("我是一個(gè)字符串".length());//7 System.out.println(str1.length());//7 String str2 = "我是另一個(gè)字符串"; int str2Length1 = str2.length(); int str2Length2 = "我是另一個(gè)字符串".length(); System.out.println(str2Length1);//8 System.out.println(str2Length2);//8
使用場(chǎng)景舉例
1.例如現(xiàn)在接收到了一串字符串,可能接收到的是正常的字符串,也有可能是空字符串,這時(shí)候就需要判斷下字符串是否存在值,就可以使用字符串長(zhǎng)度>0進(jìn)行操作。
因?yàn)樽址L(zhǎng)度大于0就代表了字符串存在值嘛
if (str.length()>0){ //進(jìn)行操作字符串 }
假設(shè)不進(jìn)行判斷直接使用的話,則有可能會(huì)出現(xiàn)報(bào)錯(cuò)。
2.例如現(xiàn)在要截取字符串,截取第三位到倒數(shù)第二位,則可以這樣截取
str.substring(2,str.length()-2)
String str1 = "臺(tái)詞:下蛋公雞,公雞中的戰(zhàn)斗機(jī),歐耶"; String substring = str1.substring(2, str1.length() - 3); System.out.println(substring);//:下蛋公雞,公雞中的戰(zhàn)斗機(jī)
但是在編寫的時(shí)候也要預(yù)測(cè)一下,不然截取的參數(shù)中第一個(gè)參數(shù)比第二個(gè)參數(shù)大會(huì)引發(fā)異常
java.lang.StringIndexOutOfBoundsException
附:java中判斷字符串實(shí)際長(zhǎng)度(中文2個(gè)字符,英文1個(gè)字符)的方法,包含中英文符號(hào)
介紹
數(shù)據(jù)庫中很多字段都會(huì)限制長(zhǎng)度,為了方便用戶使用,在前端界面給出限制長(zhǎng)度的提示,看網(wǎng)上很多寫的獲取字符串長(zhǎng)度都沒有包含中英文符號(hào)的,導(dǎo)致獲取到的長(zhǎng)度不準(zhǔn)確。
Java中判斷字符串的編碼有兩種思路:
1、根據(jù)byte的長(zhǎng)度判斷,英文的字母和標(biāo)點(diǎn)符號(hào)都是一個(gè)byte,且值在0-255之間
2、根據(jù)中文的Unicode取值范圍判斷,這個(gè)就是把所有的范圍都包含,才能判斷正確,參考unicode中文范圍
下面主要用第一種方式實(shí)現(xiàn)
測(cè)試代碼
/** * 測(cè)試字符串字符長(zhǎng)度 */ public static void main(String[] args) { String str = "(集2)上藥華,西(四川),"; System.out.println("字符串 \"" + str + "\", 字符串長(zhǎng)度為:" + str.length() + " ,實(shí)際長(zhǎng)度為:" + getStringLengthByByte(str)); } /** * 返回字符串的實(shí)際長(zhǎng)度 */ public static int getStringLengthByByte(String value) { if (StringUtils.isEmpty(value)) { return 0; } int valueLength = 0; for (int i=0; i < value.length(); i++) { char temp = value.charAt(i); if ((temp + "").getBytes().length == 1) { valueLength += 1; } else { valueLength += 2; } } return valueLength; }
輸出結(jié)果
字符串 "(集2)上藥華,西(四川),", 字符串長(zhǎng)度為:14 ,實(shí)際長(zhǎng)度為:24
總結(jié)
到此這篇關(guān)于Java求字符串長(zhǎng)度的文章就介紹到這了,更多相關(guān)Java求字符串長(zhǎng)度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 定時(shí)器的多種實(shí)現(xiàn)方式
本文介紹了Java中定時(shí)器的多種實(shí)現(xiàn)方式,有此需求的朋友可以根據(jù)實(shí)際選擇適合自己的方式2021-06-06在IDEA中配置tomcat并創(chuàng)建tomcat項(xiàng)目的圖文教程
這篇文章主要介紹了在IDEA中配置tomcat并創(chuàng)建tomcat項(xiàng)目的圖文教程,需要的朋友可以參考下2020-07-07逆轉(zhuǎn)交替合并兩個(gè)鏈表的解析與實(shí)現(xiàn)
本篇文章主要介紹了將兩個(gè)鏈表逆轉(zhuǎn)交替合并的實(shí)現(xiàn)思路與方法,需要的朋友可以參考下2015-07-07Spring Security使用權(quán)限注解實(shí)現(xiàn)精確控制
在現(xiàn)代的應(yīng)用系統(tǒng)中,權(quán)限管理是確保系統(tǒng)安全性的重要環(huán)節(jié),Spring Security作為Java世界最為普及的安全框架,提供了強(qiáng)大而靈活的權(quán)限控制功能,這篇文章將深入探討Spring Security使用權(quán)限注解實(shí)現(xiàn)精確控制,需要的朋友可以參考下2024-12-12SpringMVC使用MultipartFile實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了SpringMVC使用MultipartFile實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04SpringMVC 異常處理機(jī)制與自定義異常處理方式
這篇文章主要介紹了SpringMVC 異常處理機(jī)制與自定義異常處理方式,具有很好的開車價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java+EasyExcel實(shí)現(xiàn)文件的導(dǎo)入導(dǎo)出
在項(xiàng)目中我們常常需要Excel文件的導(dǎo)入與導(dǎo)出,手動(dòng)輸入相對(duì)有些繁瑣,所以本文教大家如何在Java中輕松導(dǎo)入與導(dǎo)出Excel文件,感興趣的可以學(xué)習(xí)一下2021-12-12java比較兩個(gè)list是否相同equals的代碼詳解
在本篇文章里小編給大家分享的是關(guān)于java比較兩個(gè)list是否相同equals的代碼詳解,有需要的朋友們可以參考學(xué)習(xí)下。2020-02-02Spring+Quartz配置定時(shí)任務(wù)實(shí)現(xiàn)代碼
這篇文章主要介紹了Spring+Quartz配置定時(shí)任務(wù)實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04