Java基础 | 字符串(下)

简介: 字符串

(三)StringBuilder

1.概述

(1)StringBuilder是干什么的

如果对字符串进行拼接操作,每次拼接,都会构建一个新的String独享,既耗时,又浪费空间,而且这种操作还无法避免。所以Java提供了一种更好的解决方式就是使用StringBuilder类

(2)String和StringBuilder的区别
  • String:内容是不可变的
  • StringBuilder:内容是可变的

2.StringBuilder的构造方法

  • public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
  • public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象
public static void main(String[] args) {
    StringBuilder sb = new StringBuilder();
    System.out.println(sb.length()); // 0

    StringBuilder sb2 = new StringBuilder("asds");
    System.out.println(sb2.length()); // 4
}

3.StringBuilder的添加和反转方法

  • public StringBuilder append(任意类型) 添加数据,并返回对象本身(这样就可以使用链式编程)
  • public StringBuilder reverse() 返回相反的字符序列
 public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();

        //StringBuilder添加
       /*sb.append("hello");
         sb.append("java");
         sb.append("world");*/
        sb.append("hello").append("java").append("world");  //  链式编程,因为对象调用完方法后返回的值还是 对象本身
        System.out.println(sb); //  hellojavaworld

        //StringBuilder反转
        sb.reverse();
        System.out.println(sb); //  dlrowavajolleh
    }

4.StringBuilder和String相互转换

(1)StringBuilder转换为String

public String toString():通过 toString()就可以实现把StringBuilder转换为String

范例:

// StringBuilder转换为String
StringBuilder sb = new StringBuilder("java");
String s = sb.toString();
System.out.println(s);
(2)String转换为StringBuilder

public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

范例:

//String转换为StringBuilder
String s2 = "abc";
StringBuilder sb2 = new StringBuilder(s2);
System.out.println(sb2);
目录
相关文章
|
2月前
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
47 1
|
19天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
3天前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
12 3
|
3天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
7 2
|
7天前
|
存储 移动开发 Java
java核心之字符串与编码
java核心之字符串与编码
13 2
|
14天前
|
Java
Java实现:将带时区的时间字符串转换为LocalDateTime对象
通过上述方法,你可以将带时区的时间字符串准确地转换为 `LocalDateTime`对象,这对于处理不需要时区信息的日期和时间场景非常有用。
205 4
|
24天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
29天前
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
|
2月前
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
45 0
下一篇
无影云桌面