持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情 java4
字符串
- String,StringBuilder,StringJoiner,StringBuffer,Pattern,Matcher
String
String概述
java.lang.String类代表字符串,Java程序中的所有字符串(如"abc")都为此类的对象。它是java定义好的一个类,定义在java.lang包中,使用时不需要导包
!注意:
String name = "尼古拉斯赵四";
String schoolName = "天线宝宝幼儿园";
System.out.println(name+schoolName);
上面这段代码中共创建了三个字符串
String name = "尼古拉斯赵四":
name = "刘能";
上面这段代码创建了两个字符串
创建String对象的两种方式
1.直接赋值
String name = "尼古拉斯赵四";
2.new一个
| 构造方法 | 说明 |
|---|---|
| public String() | 创建空白字符串,不含任何内容 |
| public String(String original) | 根据传入的字符串,创建字符串对象 |
| public(char[] chs) | 根据字符数组,创建字符串对象 |
| public String(byte[] chs) | 根据字节数组,创建字符串对象 |
第三种构造可用于修改字符串内容(因为字符串内容是不能修改的),先把字符串转变成字符数组,再进行更改。
Java内存模型
当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在,如果不存在,就创建新的;如果存在,就复用它。
==号
- 比基本数据类型:比的是数据值
- 比引用数据类型:比的是地址值,例如
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2);//false
字符串比较
- boolean equals方法(要比较的字符串):完全一样的结果才是true,否则就为false
- boolean equalsIgnoreCase(要比较的字符串):忽略大小写的比较
StringBuilder
概念
可以看成是一个容器,创建之后里面的内容是可变的
- 作用:提高字符串的操作效率
构造方法
-
空参构造
public StringBuilder()创建一个空白可变的字符串对象,不含有任何内容 -
有参构造
public StringBuilder(String str)根据字符串内容,来创建可变字符串对象, 比如
StringBuilder sb = new StringBuilder("abc")
常用方法
StringBuilder是java已经写好的类,java在底层对他做了一些特殊处理,打印对象不是地址值而是属性值
链式编程
StringBuilder sb = new StringBuilder();
sb.append("aaa").append("bbb").append("ccc").append("ddd");