String类概述及其构造方法(重点)
(1)String类概述: String类代表字符串,Java程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量,它们的值在创建之后不能更改。(字符串一旦被赋值,其值不能在被改变!):不可变的字符序列。字符串可以看成是字符数组
String s = “helloworld”;
s也是一个对象。
(2)构造方法:
①publicString():空参构造方法
②publicString(byte[] bytes::将字节数组转换成字符串了
③publicString(byte[] bytes,int index,int length):将部分字节数组转换成字符串
④publicString(char[] value):将字符数组转换成字符串
⑤publicString(char[] value,int offset,int count):将字符数组的一部分转换成字符串
⑥publicString(String original):将字符串常量转换成字符串
(3)String类中有一个特有功能:public int length()返回此字符串的长度
数组有:length属性
字符串有length()方法
(4)String类的特点及面试题
字符串是常量,它的值在创建之后不能更改
String s = “hello”; s +=“world”;问s的结果是多少?helloworld
面试题:String s = new String(“hello”)和String s = “hello”;的区别?
共同点:在内存中会构造一个字符串常量池:他们的值是"hello"
(5)字符串变量相加:先开辟空间,再拼接
字符串常量相加:先拼接,再去在字符串常量池找有没有这个字符串常量,有直接返回你的地址值,没有的情况下,开辟空间
(6)String类的判断功能:
①booleanequals(Object obj):将此字符串和指定的对象进行比较
②booleanequalsIgnoreCase(String str):将此字符串和另一个字符串进行比较,忽略大小写
③booleancontains(String str):此字符串中是否包含一个子字符串:str
④booleanstartsWith(String str):判断这个字符串是否以子字符(str)串开头
⑤booleanendsWith(String str):判断这个字符串是否以子字符串(str)结尾
⑥booleanisEmpty():判断该字符串是否为空
(7)String类的获取功能:
①intlength():获取字符串的长度
②charcharAt(int index):获取指定索引处的字符
③intindexOf(int ch):返回指定字符第一次在该字符串出现的索引!
参数中为什么是int? 97和 'a'--->a
④intindexOf(String str):返回指定str子字符串在大字符串中第一次出现的索引
⑤intindexOf(int ch,int fromIndex):返回此字符从指定位置开始后第一次出现的索引
⑥intindexOf(String str,int fromIndex):返回此支持从指定位置开始第一次出现的索引
⑦Stringsubstring(int start):截取:从指定位置开始截取,默认截取截取到末尾
⑧Stringsubstring(int start,int end):截取功能:从指定位置开始截取到指定位置,包前不包后
(8)String类的转换功能:
①byte[]getBytes():将字符串转换成字节数组
②char[]toCharArray():将字符串转换成字符数组
③staticString valueOf(char[] chs):将字符数组转换成字符串(直接使用String类名就可以用调用)
④staticString valueOf(int i):表示将一个int类型的数据转成字符串
注意:valueOf():可以将任何数据类型转换成字符串类型
⑤StringtoLowerCase():将字符串转换成小写
⑥StringtoUpperCase():将字符串转换成大写
⑦Stringconcat(String str):拼接:字符串拼接
(9)String类的其他功能:
a.替换功能:
String replace(char old,char new)
String replace(String old,String new)
b.去除字符串两空格
String trim()
c.按字典顺序比较两个字符串
int compareTo(String str)
int compareToIgnoreCase(String str) :忽略大小写进行比较!