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

StringBuilder如何拼接(截取)想要的字符串

 更新時(shí)間:2024年12月25日 08:58:16   作者:bpmh  
文章主要介紹了Java中字符串操作的兩種常用類StringBuilder和StringBuffer,以及三元表達(dá)式的使用和字符串截取的方法

StringBuilder拼接(截取)想要的字符串

字符串拼接

import java.util.ArrayList;
/*
* 用StringBuilder拼接想要的字符串
* 開發(fā)中可用來拼接查詢條件等,新手一枚,有小伙伴有更好的方法可以分享一下哦,如有錯(cuò)誤請(qǐng)指正,萬分感謝
* */
public class testStringBuilder {
    public static void main(String[] args) {
        StringBuilder sb =new StringBuilder();
        ArrayList<String> list = new ArrayList<>();//定義一個(gè)List并往其中添加字符串(四個(gè)序列號(hào))
        list.add("2022121212");
        list.add("2022121211");
        list.add("2022121213");
        list.add("2022121214");
        System.out.println("輸出原List為:"+list);//輸出原List
        for (int i = 0; i <list.size() ; i++) {
            //循環(huán)取出list中字符串元素,用三元表達(dá)式判斷是否是最后一個(gè)元素,如果是最后一個(gè)元素就不需要拼接逗號(hào)
            //我自己開發(fā)中,需要用IN條件查詢數(shù)據(jù)庫(kù),
            // select *from user_info where serinalno in ('2022121212','2022121211','2022121213','2022121214');
            // 想到用拼接字符串方法查詢數(shù)據(jù)庫(kù),故記錄一下
             sb = (i!=list.size()-1) ?sb.append("'" + list.get(i) + "',"):sb.append("'" + list.get(i) + "'");
        }
        System.out.println(sb);//輸出拼接好的字符串
    }

}

拼接字符串可以用到兩種不同的類:

  1. 一種是StringBuild 
  2. 另一種為StringBuffer

和String類不同的時(shí),StringBuild和StringBuffer能夠被多次修改,且不產(chǎn)生新的未使用的對(duì)象。

在使用 StringBuffer 類時(shí),每次都會(huì)對(duì) StringBuffer 對(duì)象本身進(jìn)行操作,而不是生成新的對(duì)象,所以如果需要對(duì)字符串進(jìn)行修改推薦使用 StringBuffer。

StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。

由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢(shì),所以多數(shù)情況下建議使用 StringBuilder 類。

三元表達(dá)式使用:

上面例子種如果不使用三元表達(dá)式,也可以這樣寫,效果一樣,三元表達(dá)式使代碼更簡(jiǎn)潔,推薦使用三元表達(dá)式

在這里插入代碼片
```import java.util.ArrayList;
/*
* 用StringBuilder拼接想要的字符串
* 開發(fā)中可用來拼接查詢條件等,新手一枚,有小伙伴有更好的方法可以分享一下哦,如有錯(cuò)誤請(qǐng)指正,萬分感謝
* */
public class testStringBuilder {
    public static void main(String[] args) {
        StringBuilder sb =new StringBuilder();
        ArrayList<String> list = new ArrayList<>();//定義一個(gè)List并往其中添加字符串(四個(gè)序列號(hào))
        list.add("2022121212");
        list.add("2022121211");
        list.add("2022121213");
        list.add("2022121214");
        System.out.println("輸出原List為:"+list);//輸出原List
        
        for (int i = 0; i <list.size() ; i++) {
     		 //  sb = (i!=list.size()-1 ?sb.append("'" + list.get(i) + "',"):sb.append("'" + list.get(i) + "'");        
            if (i != list.size() - 1) {
                sb.append("'" + list.get(i) + "',");
            } else {
                sb.append("'" + list.get(i) + "'");
            }

        }
        System.out.println(sb);//輸出拼接好的字符串
    }
}

//三元表達(dá)式語(yǔ)法
// (關(guān)系表達(dá)式) ? 表達(dá)式1 : 表達(dá)式2;
//關(guān)系表達(dá)式為true,則執(zhí)行表達(dá)式1,否則執(zhí)行表達(dá)式2
//輸出最大年齡
//        int dadAge = 39;
//        int mamAge = 37;
//        int max = mamAge > dadAge ? mamAge : dadAge;
//        System.out.println("年齡最大為:"+max+"歲");

字符串截取

字符串截取用substring(),它可截取字符串某部分,語(yǔ)法 string.substring(from, to)

例如:

public class testSubString {
    public static void main(String[] args) {
        //截取身份證信息的出身年月日
     String idCard="532165200010104361";
     System.out.println(idCard.substring(6,14));//這里6對(duì)應(yīng)上面數(shù)字的第八位(開始截取的位置),14對(duì)應(yīng)上面數(shù)字的第15位(截止截取的位置)
        //輸出如下:
        // 20001010
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA配置靜態(tài)資源熱加載操作(Springboot修改靜態(tài)資源不重啟)

    IDEA配置靜態(tài)資源熱加載操作(Springboot修改靜態(tài)資源不重啟)

    這篇文章主要介紹了IDEA配置靜態(tài)資源熱加載操作(Springboot修改靜態(tài)資源不重啟),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Mybatis-Plus使用p6spy對(duì)SQL性能進(jìn)行監(jiān)控的方法

    Mybatis-Plus使用p6spy對(duì)SQL性能進(jìn)行監(jiān)控的方法

    這篇文章主要介紹了Mybatis-Plus使用p6spy對(duì)SQL性能進(jìn)行監(jiān)控的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • SpringBoot調(diào)用第三方WebService接口的兩種方法

    SpringBoot調(diào)用第三方WebService接口的兩種方法

    本文主要介紹了SpringBoot調(diào)用第三方WebService接口的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringBoot+kaptcha實(shí)現(xiàn)驗(yàn)證碼花式玩法詳解

    SpringBoot+kaptcha實(shí)現(xiàn)驗(yàn)證碼花式玩法詳解

    這篇文章主要想和大家聊聊kaptcha的用法,畢竟這個(gè)已經(jīng)有16年歷史的玩意還在有人用,說明它的功能還是相當(dāng)強(qiáng)大的,感興趣的小伙伴可以了解一下
    2022-05-05
  • mybatis-plus配置攔截器實(shí)現(xiàn)sql完整打印的代碼設(shè)計(jì)

    mybatis-plus配置攔截器實(shí)現(xiàn)sql完整打印的代碼設(shè)計(jì)

    在使用mybatis-plus(mybatis)的時(shí)候,往往需要打印完整的sql語(yǔ)句,然而輸出的日志不是很理想,因?yàn)閟ql語(yǔ)句中的關(guān)鍵字段信息都是用?來代替的,所以本文分享了一下自己寫了一個(gè)攔截器實(shí)現(xiàn)了sql完整的打印,需要的朋友可以參考下
    2024-06-06
  • java中實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)的方式

    java中實(shí)現(xiàn)一個(gè)定時(shí)任務(wù)的方式

    本文介紹了三種在Java中實(shí)現(xiàn)定時(shí)任務(wù)的方法,并推薦使用Spring Boot注解方式,介紹了如何使用`@Scheduled`注解結(jié)合Cron表達(dá)式來設(shè)置定時(shí)任務(wù),并提供了一個(gè)示例配置文件
    2025-03-03
  • IDEA中配置文件模板的添加方法

    IDEA中配置文件模板的添加方法

    這篇文章主要介紹了IDEA中配置文件模板的添加方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 關(guān)于JSON.toJSONString()和Gson.toJson()方法的比較

    關(guān)于JSON.toJSONString()和Gson.toJson()方法的比較

    本文介紹了兩種將Java對(duì)象轉(zhuǎn)換為JSON字符串的方法:阿里的`JSON.toJSONString()`和谷歌的`Gson.toJson()`,通過一個(gè)示例,展示了當(dāng)使用繼承關(guān)系且子類覆蓋父類字段時(shí),`Gson`會(huì)報(bào)錯(cuò),而`JSON`可以正常運(yùn)行,作者建議在處理JSON相關(guān)操作時(shí)使用阿里的`JSON`類
    2024-11-11
  • JAVA如何獲取30天或某段范圍日期

    JAVA如何獲取30天或某段范圍日期

    JAVA獲取30天或某段范圍日期的方法,在項(xiàng)目使用中比較頻繁,通過示例代碼介紹了Java獲取當(dāng)前時(shí)間的上一年、下一年、上個(gè)月、下個(gè)月、前一天,當(dāng)天,本周,上周,本季度,上季度等(時(shí)間格式化),感興趣的朋友一起看看吧
    2023-10-10
  • Java中使用DOM和SAX解析XML文件的方法示例

    Java中使用DOM和SAX解析XML文件的方法示例

    這篇文章主要介紹了Java中使用DOM和SAX解析XML文件的方法示例,通過實(shí)例文章中最后也給出了一些對(duì)比結(jié)論,需要的朋友可以參考下
    2015-11-11

最新評(píng)論