2022-7-20 第七组 pan小堂 String
字符串 String
字符串部分方法
字符串对象的特点:
1.Java程序中所有双引号引起来的内容,都是String类的对象
2.字符串内容不可变,它们的值在创建后不能被更改(在底层被final修饰,所以它是一个常量) 3.虽然String的内容不可变,但是可以被共享(结合常量池理解:如果使用""创建String,系统会检测常量池中有没有相同内容的,如果有相同内容的,直接拿来使用
4.String在java的lang包下,使用时不需要导包
如果是常量"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,基本类型是无法添加进去的。
本文来自博客园,作者:阿萨德菩提子,转载请注明原文链接:https://www.cnblogs.com/ychptz/p/16499644.html