java基础知识(4)

225 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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

概念

可以看成是一个容器,创建之后里面的内容是可变的

  • 作用:提高字符串的操作效率

构造方法

  1. 空参构造 public StringBuilder() 创建一个空白可变的字符串对象,不含有任何内容

  2. 有参构造 public StringBuilder(String str) 根据字符串内容,来创建可变字符串对象, 比如

StringBuilder sb = new StringBuilder("abc")

常用方法

image.png

StringBuilder是java已经写好的类,java在底层对他做了一些特殊处理,打印对象不是地址值而是属性值

链式编程

StringBuilder sb = new StringBuilder();
sb.append("aaa").append("bbb").append("ccc").append("ddd");