开发者社区> vblltq7lxmh76> 正文

Java面向对象基础5——String类(2)

简介: Java面向对象基础5——String类(2)
+关注继续查看

一、前言


本文主要介绍StringBuilder 和 StringJoiner(JDK8专属)


二、StringBuilder


1️⃣概念


当要处理的字符串的数量很大时,如果用循环语句,效率会很低,执行代码速度会很缓慢,而StringBuilder则可以提高代码执行效率


5807486baebd462dbb1de3965b8412ae.png

2️⃣StringBuilder构造方法


  • public StringBuilder():创建一个空白可变字符串对象,不包含任何内容
  • public StringBuilder(String str):更具字符串内容,创建可变字符串对象


3️⃣StringBuilder常用方法


  • public StringBuilder append:添加数据,并返回对象本身


public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("abc123");
        sb.append("J");
        sb.append("Q");
        sb.append("K");
        System.out.println(sb);
}

7cbdc78c400245f98c709b81dae9bf06.png


  • public int length():返回长度(字符出现个数)


 public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("abc123");
        sb.append("J");
        sb.append("Q");
        sb.append("K");
        System.out.println(sb);
        System.out.println(sb.length());
}

1de4b461f48b4bc0b70ae57fe89bd117.png


  • public String toString()
public static void main(String[] args) {
    StringBuilder sb = new StringBuilder("abc123");
    sb.append("J");
    sb.append("K");
    System.out.println(sb);
    String s = sb.toString();
    System.out.println(s);
}

38ce47dbaa344722a1b335e974c1d7c5.png


三、StringJoiner(JDK8专属⚠)


1️⃣概念


b4a154bb161c49b4ab1973924d19f3e7.png


提高代码效率,使得代码简洁,特别是在拼接代码方面特别有优势


2️⃣构造方法


  • public StringJoiner(间隔符号):创建一个StringJoiner对象,并指定拼接时的间隔符号


public class TestStringJoiner {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner("-----");
        sj.add("111").add("222").add("333");
        System.out.println(sj);
    }
}

837d589fefc748c6881fda1b3e068825.png


  • public StringJoiner(间隔符号,开始符号,结束符号):创建一个StringJoiner对象,并指定拼接时的间隔符号、开始符号和结束符号


public class TestStringJoiner {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner(", ","[","]");
        sj.add("111").add("222").add("333");
        System.out.println(sj);
    }
}

24fdead594604d7eae4dae2412188743.png


3️⃣StringJoiner成员方法


  • public StringJoiner add(添加的内容):添加数据,并返回对象本身


public class TestStringJoiner {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner(", ","[","]");
        sj.add("111").add("222").add("333");
        sj.add("abc");
        System.out.println(sj);
    }
}

632ddd3db6ba40a8beba0a6a798d72a6.png


  • public int length():返回长度


public class TestStringJoiner {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner(", ","[","]");
        sj.add("111").add("222").add("333");
        sj.add("abc");
        System.out.println(sj);
        System.out.println(sj.length());
    }
}

395ff319682747ee9e0bb06af529f615.png


  • public String toString():返回一个字符串


public class TestStringJoiner {
    public static void main(String[] args) {
        StringJoiner sj = new StringJoiner(", ","[","]");
        sj.add("111").add("222").add("333");
        sj.add("abc");
        System.out.println(sj);
        System.out.println(sj.length());
        String s = sj.toString();
        System.out.println(s);
    }
}

01d65a27fd1f404a81de82d6a1b935b7.png


e3d435e9bb8b4616a0c7afa31caac1a3.png


四、结语


本文中介绍的两个类非常实用,特别是StringJoiner,只不过目前只支持JDK8,其余版本暂时不可用

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JAVA基础复习之JDBC(配置动态数据源)
复习原因 在项目的开发当中,之前数据库连接信息都是写死在配置文件当中。但是突然接到一个需求: 获取外部数据源信息,然后将某些数据通过Echarts绘制成折线图展示出来(ps:数据源需要用户手动设定) 有点懵,因为之前都是写死在配置文件当中的,然后在网上也找了一些资料,发现都不是自己想要的。 最后想到,既然是简单的获取数据进行展示,直接使用JDBC连接数据库获取就可以了啊。没有必要搞什么骚操作。 JDBC 一直使用的JPA或者mybatis进行数据库连接,很少使用JDBC进行数据库连接。 因此也复习一下JDBC,毕竟无论是JPA还是Mybatis都是对JDBC的一个封装。 什么是JD
221 0
【Java 基础】Java 数据类型和 MySql 数据类型对应表
【Java 基础】Java 数据类型和 MySql 数据类型对应表MySQL 数据类型对应 Java 数据类型 类型名称 显示长度 数据库类型 JAVA 类型 JDBC 类型索引 (int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java.lang.String 1 BLOB L+N BLOB java.lang.byte[] -4 TEXT 65535 VARCHAR java.lang.String -1 INTEGER 4 INTEGER UNSIGNED java.lang.Long 4 TINYINT
252 0
Java基础深化和提高 ---- 反射技术
Java 反射机制是Java语言一个很重要的特性,它使得Java具有了“动 态性”。
58 0
Java的学习笔记(02)基础
访问修改函数 static:它用于使成员(块、方法、变量或嵌套类)可以独立于任何其他成员使用,而无需参考特定情况。 strictfp:用于限制、浮点、浮点运算和计算,并在浮点变量中执行任务时保证每个阶段的结果相同。 synchronized:它用于在Java中获得适用于块和方法的同步。 transient:作为序列化的一部分使用的因子修饰符。在序列化的季节,如果我们不想对记录中的特定变量进行多余的估计,那么此时,我们使用transient关键字。 volatile:如果修饰符告诉编译器,由不稳定变量调整的变量通过程序的不同部分发生惊人的变化,则使用volatile。 Java关键字的
44 0
Java基础深化和提高-------容器篇(中)
List是有序、可重复的容器。
66 0
Java基础深化和提高-------容器篇(上)
为了能够更好的学习容器,我们首先要先来学习一个概念:泛型。
98 0
【Java原理探索】夯实你对AQS的认识和基础
【Java原理探索】夯实你对AQS的认识和基础
66 0
Java面试题1:Java基础篇
面向对象是一种万物皆对象的编程思想,任何物体都可以归为一类事物,而一个个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动的。
66 0
Java面向对象基础5——String类(1)
String类的本质是字符数组,是Java中的文本数据类型。字符串常量是用双引号括起来的内容,Java中所有字符串字面值都作为此类的实例实现
76 0
+关注
vblltq7lxmh76
文章
问答
视频
文章排行榜
最热
最新
相关课程
更多
相关电子书
更多
JAVA开发手册1.5.0
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多