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

一、字符串拼接

import java.util.ArrayList;
/*
* 用StringBuilder拼接想要的字符串
* 开发中可用来拼接查询条件等,新手一枚,有小伙伴有更好的方法可以分享一下哦,如有错误请指正,万分感谢
* */
public class testStringBuilder {
    public static void main(String[] args) {
        StringBuilder sb =new StringBuilder();
        ArrayList<String> list = new ArrayList<>();//定义一个List并往其中添加字符串(四个序列号)
        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++) {
            //循环取出list中字符串元素,用三元表达式判断是否是最后一个元素,如果是最后一个元素就不需要拼接逗号
            //我自己开发中,需要用IN条件查询数据库,
            // select *from user_info where serinalno in ('2022121212','2022121211','2022121213','2022121214');
            // 想到用拼接字符串方法查询数据库,故记录一下
             sb = (i!=list.size()-1) ?sb.append("'" + list.get(i) + "',"):sb.append("'" + list.get(i) + "'");
        }
        System.out.println(sb);//输出拼接好的字符串
    }

}

拼接字符串可以用到两种不同的类 ,一种是StringBuild ,另一种为StringBuffer。和String类不同的时,StringBuild和StringBuffer能够被多次修改,且不产生新的未使用的对象。
在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。

StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

1. 三元表达式使用

上面例子种如果不使用三元表达式,也可以这样写,效果一样,三元表达式使代码更简洁,推荐使用三元表达式

在这里插入代码片
```import java.util.ArrayList;
/*
* 用StringBuilder拼接想要的字符串
* 开发中可用来拼接查询条件等,新手一枚,有小伙伴有更好的方法可以分享一下哦,如有错误请指正,万分感谢
* */
public class testStringBuilder {
    public static void main(String[] args) {
        StringBuilder sb =new StringBuilder();
        ArrayList<String> list = new ArrayList<>();//定义一个List并往其中添加字符串(四个序列号)
        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);//输出拼接好的字符串
    }
}

//三元表达式语法
// (关系表达式) ? 表达式1 : 表达式2;
//关系表达式为true,则执行表达式1,否则执行表达式2
//输出最大年龄
//        int dadAge = 39;
//        int mamAge = 37;
//        int max = mamAge > dadAge ? mamAge : dadAge;
//        System.out.println("年龄最大为:"+max+"岁");

二.字符串截取

字符串截取用substring(),它可截取字符串某部分,语法 string.substring(from, to)
例如:

public class testSubString {
    public static void main(String[] args) {
        //截取身份证信息的出身年月日
     String idCard="532165200010104361";
     System.out.println(idCard.substring(6,14));//这里6对应上面数字的第八位(开始截取的位置),14对应上面数字的第15位(截止截取的位置)
        //输出如下:
        // 20001010
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值