最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java String字符串的常用使用方法

 更新時間:2025年04月09日 11:24:49   作者:lili-felicity  
String是JDK提供的一個類,是引用類型,并不是基本的數(shù)據(jù)類型,String用于字符串操作,在之前學(xué)習(xí)c語言的時候,對于一些字符串,會初始化字符數(shù)組表示,本文給大家介紹Java String字符串的常用使用方法,感興趣的朋友一起看看吧

今天學(xué)習(xí)到了Java中的String,String是Java中一個非常重要的類,在我們做字符串操作的時候,需要使用到String。

一、什么是String

String是JDK提供的一個類,是引用類型,并不是基本的數(shù)據(jù)類型,String用于字符串操作,在之前學(xué)習(xí)c語言的時候,對于一些字符串,會初始化字符數(shù)組表示。

char str [] = {'a', 'b', 'c'};

在Java中,String像是一個很大的char數(shù)組,我們在定義字符串的時候,不需要再去像上方代碼一樣去定義,而是直接可以使用String去定義。

String str = "abc";

String就像是很大的char數(shù)組,但相比于char數(shù)組而言,String可以做字符串拼接操作,而char數(shù)組并不能直接去做字符串的拼接,如下代碼。

String str = "abc" + "def";

二、如何定義一個String

既然知道String是一個類,那么類一定有他的初始化方法,在Java中,String的初始化有以下幾種常用的方式。這是官方給出的一些介紹。

1. 用雙引號定義

String字符串,可以直接通過雙引號來定義,把需要的字符串內(nèi)容用雙引號包裹,可以直接對String類型的對象賦值。

public class StringDemo {
    public static void main(String[] args) {
        String str = "abc";
    }
}

2. 通過構(gòu)造函數(shù)定義

String作為一個類,可以通過new關(guān)鍵字初始化,在Java中可以通過構(gòu)造函數(shù)對String類型的對象賦值。

public class StringDemo {
    public static void main(String[] args) {
        String str = new String("abc");
        System.out.println(str);
    }
}

這是一種基本的構(gòu)造字符串的方式,除此之外還有一些其他的構(gòu)造方式。

通過無參構(gòu)造函數(shù)初始化

這樣的方式初始化的String的值為空,也就是什么都沒有。

public String() {
        this.value = "".value;
        this.coder = "".coder;
    }

通過char數(shù)組進行初始化

String可以傳入一個char數(shù)組進行初始化,String會拼接char數(shù)組當(dāng)中的所有字符。

public String(char value[]) {
        this(value, 0, value.length, null);
    }

帶位移的方式通過char數(shù)組進行初始化

這樣的方式和上邊的方式其實是一樣的,只不過在初始化字符串的時候,會根據(jù)傳入的offset作為char數(shù)組開始拼接的起始索引,并且拼接上count個字符。

public String(char value[], int offset, int count) {
        this(value, offset, count, rangeCheck(value, offset, count));
    }

除了以上幾種常用的方式外,還有一些其他的方式,如通過int數(shù)組進行初始化,通過byte數(shù)組進行初始化,大家感興趣的話可以自己研究一下。 

三、String中的一些常用方法

了解到什么是String,下面就要理解一些String中常用的方法。

1 字符串比較

字符串之間的比較又分為很多不同的方法,下邊是一些常用的字符串比較方法。

1.1 字符串使用 ==

字符串使用 == 操作,其實是一個有坑的點,一般不用,這里不在多講,有興趣的可以嘗試一下以下代碼。

1.2 字符串使用equals()

字符串的比較,使用這個方法比較多一點。

 1.3 使用 equalsIgnoreCase()

這個方法相比于普通的equals方法的區(qū)別是,這個方法是忽略大小寫的。

除此之外,字符串比較還有這兩個方法。

1.4 cpmpareTo和compareToIgnoreCase

這兩個方法和equals方法的區(qū)別是,equals返回的是boolean類型的變量,而compare方法返回的是int類型的變量。

具體比較方法如下:

兩個字符串按照單個字符從前向后作比較,遇到不同的字符,返回兩個字符的差值如果兩個字符比較完成了,沒有發(fā)現(xiàn)不同的字符,返回兩個字符串的長度差。

2 字符串大小寫轉(zhuǎn)換 

String中還提供了一些字符串大小寫轉(zhuǎn)換的方法。

 2.1 toUpperCase()

這個方法就是把字符串全部轉(zhuǎn)換為大寫。

2.2 toLowerCase()

這個方法把字符串全部轉(zhuǎn)換為小寫 

3  字符串長度獲取

3.1 length()

字符串長度的獲取通過以下方法獲取。

4  判斷是否包含一段字符串

4.1 contains()

String是有子字符串的概念的,比如我們要查看某個字符串中是否包含一小段的字符串,我們可以用以下方法。

5 字符串切割和拼接

 5.1 split()

字符串的切割和拼接是非常實用的方法,現(xiàn)在我們有這樣的一個字符串。

String students = "zhangsan,lisi,wangwu,liuliu";

我們想要把這些姓名拆分出來,就需要用到下邊的方法。

對于字符串切割,我們需要傳入一個作為分割的字符,在上方的代碼當(dāng)中傳入的是一個",",當(dāng)然在具體應(yīng)用的時候,還要根據(jù)具體的場景做分析。

5.2 join()

除了字符串分割外,當(dāng)然也有字符串拼接的操作,如果我們想把studentArr中的學(xué)生姓名用橫杠拼接起來,像這樣

zhangsan-lisi-wangwu-liuliu

需要以下代碼完成,這里只介紹基本的使用。

6 字符串尋找字串起始位置

我們可以判斷字串是否存在,也可以獲取子串在字符串的起始索引。

6.1 indexOf()

看下方代碼,我們試圖在字符串中尋找有沒有值為"lisi"的字符串,我們調(diào)用indexOf方法就可以,

indexOf方法有兩種,一種是直接傳匹配字串,另外一種是傳入匹配子串的同時傳入開始匹配的起始下邊,比如我們從索引10開始尋找,因為lisi的開始索引為9,當(dāng)我們把開始匹配的下標(biāo)放到10的時候,就沒有辦法在匹配到"lisi"了。

6.2 lastIndexOf() 

和indexOf()是一樣的,不同的是,lastIndexOf()是判斷的結(jié)尾,是從后往前找的。

7 獲取字串

7.1 substring()

字串可以判斷存不存在,可以獲取起始下標(biāo),當(dāng)然也可以獲取子串。通過起始下標(biāo)和結(jié)束下標(biāo)來截取子串。

8 字符串替換 

replace:有兩個重載形式,replace(char oldChar, char newChar)用于字符替換,replace(CharSequence target, CharSequence replacement) 可用于字符串替換。這里的CharSequence是字符串序列,簡單理解就是字符串 ,該方法不會將參數(shù)解析為正則表達式。
replaceAll:方法簽名為replaceAll(String regex, String replacement),參數(shù)regex要求是一個正則表達式字符串,它會按照正則表達式規(guī)則去匹配字符串中的子串并替換 。如果傳入的不是正則表達式,也會當(dāng)作普通字符串處理。
replaceFirst:方法簽名為replaceFirst(String regex, String replacement) ,和replaceAll一樣,第一個參數(shù)regex也是基于正則表達式的,不過它只替換第一次匹配到的子串。當(dāng)傳入非正則表達式的普通字符串時,也能進行字符串替換操作。

對于一些不想要的字符,也是可以替換的,拿上方的這個字符串來說。

String students = "zhangsan,lisi,wangwu,liuliu";

如果不想要逗號了,想要用橫線分割,下方代碼可以實現(xiàn)。

8.1  replace()

8.2 replaceAll()

與replace()不同的是,replaceAll()是可以傳入正則表達式的,這里不在講正則表達式,以下的方式也是可以替換的。

 以上就是一些常用的String的使用方法。

到此這篇關(guān)于Java String字符串的基本使用的文章就介紹到這了,更多相關(guān)Java String字符串使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot的監(jiān)控及使用詳解

    SpringBoot的監(jiān)控及使用詳解

    這篇文章主要介紹了SpringBoot的監(jiān)控及使用詳解,Spring Boot提供了一系列的監(jiān)控功能,方便開發(fā)人員對應(yīng)用程序進行監(jiān)控和管理,本文將討論 Spring Boot中的監(jiān)控功能及其使用方法,需要的朋友可以參考下
    2023-07-07
  • java并發(fā)訪問重復(fù)請求過濾問題

    java并發(fā)訪問重復(fù)請求過濾問題

    本篇文章給大家分享了關(guān)于java并發(fā)訪問重復(fù)請求過濾的相關(guān)問題以及解決方法,對此有需要的朋友參考學(xué)習(xí)下。
    2018-05-05
  • Java頻繁GC的完整排查流程與解決方法

    Java頻繁GC的完整排查流程與解決方法

    這篇文章主要介紹了Java中頻繁GC的常見問題及其解決步驟,涵蓋內(nèi)存泄漏、堆內(nèi)存不足、大對象創(chuàng)建等問題的排查與處理方法,通過實際操作指導(dǎo)幫助開發(fā)者精準(zhǔn)定位和解決性能問題,需要的朋友可以參考下
    2026-06-06
  • Java?MyBatis實戰(zhàn)之QueryWrapper中and和or拼接技巧大全

    Java?MyBatis實戰(zhàn)之QueryWrapper中and和or拼接技巧大全

    在Java中QueryWrapper是MyBatis-Plus框架中的一個查詢構(gòu)造器,它提供了豐富的查詢方法,其中包括and和or方法,可以用于構(gòu)建復(fù)雜的查詢條件,這篇文章主要給大家介紹了關(guān)于Java?MyBatis實戰(zhàn)之QueryWrapper中and和or拼接技巧的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Spring?Bean注冊與注入實現(xiàn)方法詳解

    Spring?Bean注冊與注入實現(xiàn)方法詳解

    首先,要學(xué)習(xí)Spring中的Bean的注入方式,就要先了解什么是依賴注入。依賴注入是指:讓調(diào)用類對某一接口的實現(xiàn)類的實現(xiàn)類的依賴關(guān)系由第三方注入,以此來消除調(diào)用類對某一接口實現(xiàn)類的依賴。Spring容器中支持的依賴注入方式主要有屬性注入、構(gòu)造函數(shù)注入、工廠方法注入
    2022-10-10
  • 使用java swing實現(xiàn)qq登錄界面示例分享

    使用java swing實現(xiàn)qq登錄界面示例分享

    這篇文章主要介紹了使用java swing實現(xiàn)qq登錄界面示例,需要的朋友可以參考下
    2014-04-04
  • SiteMesh如何結(jié)合Freemarker及velocity使用

    SiteMesh如何結(jié)合Freemarker及velocity使用

    這篇文章主要介紹了SiteMesh如何結(jié)合Freemarker及velocity使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • springboot自動裝配之@ComponentScan使用方式

    springboot自動裝配之@ComponentScan使用方式

    @componentScan注解用于掃描指定路徑下的組件,并自動將它們注冊為Spring?Bean,該注解支持多種過濾規(guī)則,可以自定義掃描過濾規(guī)則,Spring?Boot通過ConfigurationClassPostProcessor處理@ComponentScan注解,并在啟動時創(chuàng)建和注冊BeanDefinition對象
    2025-01-01
  • javacv視頻抽幀的實現(xiàn)過程詳解(附代碼)

    javacv視頻抽幀的實現(xiàn)過程詳解(附代碼)

    這篇文章主要介紹了javacv視頻抽幀的實現(xiàn)過程詳解(附代碼),視頻抽幀可以做一些處理,比如水印,去水印等操作,然后再合成視頻,需要的朋友可以參考下
    2019-07-07
  • Java Redis Template批量查詢指定鍵值對的實現(xiàn)

    Java Redis Template批量查詢指定鍵值對的實現(xiàn)

    本文主要介紹了Java Redis Template批量查詢指定鍵值對的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論

长宁县| 金坛市| 南康市| 阿拉善右旗| 洪湖市| 金塔县| 抚顺县| 金塔县| 茌平县| 定南县| 东城区| 新民市| 贵港市| 邵东县| 中西区| 新兴县| 宁夏| 博野县| 稻城县| 长宁区| 海门市| 宜丰县| 灌阳县| 古浪县| 平罗县| 富蕴县| 上犹县| 逊克县| 湘潭县| 阳信县| 庐江县| 和顺县| 呼图壁县| 崇文区| 云阳县| 金堂县| 焦作市| 扬中市| 民勤县| 依安县| 伊通|