【JAVA】String总结

构造方法

  1. 直接构造,所有用双引号包起来的都是字符串对象。
String str = "abcde";
  1. 通过new方法构造,支持各种参数
    在这里插入图片描述

StringBuilder类

StringBuilder类是一个字符串容器,创建之后是可变的。可以用于字符串修改,提升字符串的操作效率。
字符串需要反复修改时使用StringBuilder类能提升速度,其底层是一个字符串数组,初始长度为16。

构造方法及主要方法

// StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder("abc");
sb.append("cd").append("ef");
System.out.println(sb); // abccdef

StringJoiner类

StringJoiner类是一个字符串拼接类,类似Python中字符串的join方法。

构造方法及主要方法

import java.util.StringJoiner;

StringJoiner sj = new StringJoiner(",");
sj.add("cd").add("ef");
System.out.println(sj); // cd,ef

StringJoiner sj1 = new StringJoiner(",", "[", "]");
sj1.add("a").add("c").add("d");
System.out.println(sj1); // [a,c,d]

注意点

  1. String对象是不可改变对象,以下代码并不是改变了str,而是重新生成了一个字符串对象,然后赋值给了str。
    String str = "abc";
    str = "cde";
    
  2. 字符串是引用型变量,所以字符串之间的对比要使用String.equals()方法对比,该方法对比的是字符串的真值。==只是对比变量所存储的内存地址是否一致。
    String strA = "abc";
    String strB = "abc";
    System.out.println((strA.equals(strB))); // true
    
    String strC = new String("abc");
    String strD = new String("abc");
    System.out.println((strC == strD)); // false
    System.out.println((strC.equals(strD))); // true
    
  3. 直接对变量进行赋值的方式,字符串是存储在串池的,是可以复用的。而以new的方式构造的字符串对象是存储在堆内存的,每次new都会在堆内存生成一个新的对象。所以直接赋值的方式更加节省内存。
    String strA = "abc";
    String strB = "abc";
    System.out.println(strA == strB);  // true
    
    String strC = new String("abc");
    String strD = new String("abc");
    System.out.println((strC == strD)); // false
    System.out.println((strC.equals(strD))); // true
    
  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值