String 类

在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

1. 创建字符串
  • String str = ‘Runooo 存储在公共池中

  • 用构造函数创建
    String str = new String(’hello‘) new创建的字符串在堆上

2. 长度length()方法

遍历字符串

for(int i=0;i<str.length();i++){
	System.out.println(str.charAt(i))
}
// 键盘输入语句
Scanner sc = new Scanner(System.in);
String str= sc.nextLine();
3. 连接字符串
  • "我的名字是 ".concat("Runoob")
  • "Hello," + " runoob" + "!"

Java StringBuffer 和 StringBuilder 类

当对字符串进行修改的时候,需要使用Java StringBuffer 和 StringBuilder 类

Java StringBuffer 和 StringBuilder 类的对象可以被多次修改,并不产生新的未使用对象

区别:

  1. 对 StringBuffer 对象本身进行操作,而不是生成新的对象
  2. StringBuilder 的方法不是线程安全的(不能同步访问
  3. StringBuilder 相较于 StringBuffer 有速度优势
1.StringBuffer

StringBuffer sb= new StringBuffer("菜鸟教程官网:");

方法:
1.sb.append()
2. sb.deleteCharAt(int index)
3. sb.insert(int offset, str)
4. sb.reverse()

每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大

2.StringBuilder

StringBuilder是一个可变的字符串类,StringBuilder对象中的内容是可变的
StringBuilder不支持同步,速度更快,线程不安全

StringBuilder sb = new StringBuilder(10);
sb.append("hello");
System.out.println(sb);

在这里插入图片描述

总结:

一般情况下,速度从快到慢为 StringBuilder > StringBuffer > String

  1. 操作少量的数据使用 String;
  2. 单线程操作大量数据使用 StringBuilder;线程不安全
  3. 多线程操作大量数据使用 StringBuffer。 线程安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值