Java基础String、StringBuilder类

网友投稿 744 2022-05-30

1 String类

1.1 String概括

String 类 在 java.lang 包下,所以使用的时候不需要导包

java程序中所有的双引号字符串,都是String这个类的对象

特点:字符串 不可变 ,它们的值在创建后不可改变

字符串的特点:

1:字符串的内容永不可变。

2:正是因为字符串不可改变,所以字符串是可以共享使用的。

3:字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。

1.2 String构造方法

推荐使用直接赋值的方式

1.3 String对象的区别

1.通过 new 创建字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同

2.以 “ ” 方式给出的字符串,只要字符串的序列相同(顺序和大小写),无论在程序中出现多少次,JVM都只会建立一个String对象,并在字符串池维护

内存

1.4 String字符串比较

使用 双等号 作比较

基本类型:比较的是 数据值 是否相同

引用类型:比较的是 地址值 是否相同

字符串是对象,它比较 内容 是否相同,是通过一个方法来实现的,这个方法叫做: equals()

范例:

public class Demo{ public static void main(String[] args){ //构造方法的方式得到对象 char[] chs = {'a','b','c'}; String s1 = new String(chs); String s2 = new String(chs); //直接赋值的方法得到对象 String s3 = "abc"; String s4 = "abc"; System.out.println(s1.equals(s2)); //true System.out.println(s1.equals(s3)); //true System.out.println(s3.equals(s4)); //true } }

2 StringBuilder可变字符串类

StringBuilder是一个可变的字符串类,内容可以改变

StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

原来StringBuilder是个字符串的缓冲区,即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。

它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。原理如下图所示:(默认16字符空间,超过自动扩充)

2.1 StringBuilder构造方法

范例

public class Demo { public static void main(String[] args) { //创建空白可改变字符串对象 StringBuilder sb = new StringBuilder(); System.out.println("sb:"+sb); //sb: System.out.println("sb.length():"+sb.length()); //sb.length():0 //根据字符串内容创建对象 StringBuilder sb2 = new StringBuilder("hello"); System.out.println("sb2:"+sb2); //sb2:hello System.out.println("sb2.length():"+sb2.length()); //5 } }

2.2 StringBuilder常用方法

2.3 StringBuilder 和 String 相互转换

1.StringBuilder 转换为 String

2.String 转换为 StringBuilder

Java基础String、StringBuilder类

Java 数据结构

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:利用MediaStore检索图像+利用ExitInterface修改EXIF信息
下一篇:云桌面配合NAT实现公网访问配置实践
相关文章