2022-7-20 第七组 pan小堂 String

字符串 String

字符串部分方法

image
image
image

字符串对象的特点:

		1.Java程序中所有双引号引起来的内容,都是String类的对象
		2.字符串内容不可变,它们的值在创建后不能被更改(在底层被final修饰,所以它是一个常量)    3.虽然String的内容不可变,但是可以被共享(结合常量池理解:如果使用""创建String,系统会检测常量池中有没有相同内容的,如果有相同内容的,直接拿来使用
		4.String在java的lang包下,使用时不需要导包

image

如果是常量"a"+"b"+"c",那么在编译时,就会将它们拼接为"abc"。由于内容一样,且都是通过双引号创建,所以在内存中维护的是同一个对象

(包装类封装类)

byte		Byte
short		Short
 int 		Integer
long 		Long
float		Float
double		Double
char	 	Character
boolean   	Boolean

为什么要用包装类

Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[]数组或集合中的操作等等。为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。

装箱 ----》基本数据类型 转换成 包装类
拆箱 包装 ---》基本

简述StringBuilder类与String类的区别。

答:String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中
创建一个新的对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象
都会对系统性能产生影响。

StringBuilder又称为可变字符序列,是JDK5.0中新增加的一个类,它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。即它是一个 容器,容器中可以装很多字符串,并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容,StringBuilder会自动维护数组的扩容。

总结:

1.包装类多了一个Null值,增加了表达性;
2.增加面向对象特性,(以致于能够)兼容集合的使用,比如集合能接收的类型为Object,基本类型是无法添加进去的。
posted @ 2022-07-20 20:00  阿萨德菩提子  阅读(14)  评论(0编辑  收藏  举报