欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java求字符串長(zhǎng)度的方法舉例

 更新時(shí)間:2023年10月23日 15:40:55   作者:程序員大騰  
這篇文章主要給大家介紹了關(guān)于Java求字符串長(zhǎng)度的相關(guān)資料,Java中的字符串是一種常見的數(shù)據(jù)類型,用于表示文本數(shù)據(jù),文中給出了詳細(xì)的代碼實(shí)例,需要的朋友可以參考下

方法介紹

在 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)文章

最新評(píng)論