学习笔记
JavaAPI
之
String
类
[size=10.5000pt]一、所属包
java.lang.String
,没有子类。特点:一旦被初始化就不可以被改变。
创建类对象的两种方式:
String s1 = “abc”;
String s1 = new String(“abc”)
;
内存存在方式:
String Str = “jack”这个语句会先检查字符串常量池是否存放这个”jack1”这个字符串对象,如果没有存在,那么就会在字符串常量池中创建这个字符串对象,如果存在直接返回该字符串的内存地址值。
String str3 = new String(“jack”)
该语句会创建两个对象
,
首先会先检查字符串常量池中存不存在
jack
这个字符串对象,如果不存在就会创建,如果存在就返回内存地址值。创建了出来之后,
new String
这个语句就会在堆内存中开辟一个字符串对象。总共两个对象。
注意
:equals
比较的是对象的内存地址,但是
String
类复写了
Object
类中的
equals
方法,用于判断字符串是否相同。
s1.equals(s2)
为
true
。
[size=10.5000pt]二、对字符串操作的方法
[size=10.5000pt]1、获取方法:
1.1
:int length()
字符串的长度
1.2
:char charAt(int index) 特定位置的字符
(
角标越界报错)
1.3
:int indexOf(int ch) 特定字符的位置
(overload)(该字符多余1
个返回第一个出现的位置)没有找到返回-1
Int indexOf(int ch,int fromIndex)
从指定位置开始搜索
int indexOf(String str) 子字符的位置
(overload)
Int indexOf(iString str,int fromIndex)
从指定位置开始搜索
1.4
:int lastIndexOf(int ch) 最后一个字符的位置
[size=10.5000pt]2、判断方法:
2.1
:字符串是否包含某个子串
boolean contains(CharSequences)
CharSequences字符序列也可以用int indexOf(String str),返回-1
说明不包含。
2.2
是否以指定内容开头 Boolean startsWith(String str)
2.3
是否以指定内容结尾 boolean endsWith(String str)
2.4
是否为空 boolean isEmpty()
是否长度为
0
如:“”
null V1.6
2.5
是否相等 boolean equals(Object anObject)
是否相等
boolean equalsIgnoreCase(String anotherString)
忽略大小写是否相等
[size=10.5000pt]三、转换功能
3.1
:将字符数组转成字符串
1
)构造函数:
String (char[])
String (char[],offset,count)
将字符数组一部分转成字符串
(offset
开始,
count
个数
)
例
:
Char[] arr = {
‘
a
’
,
‘
b
’
,
‘
c
’
,
‘
d
’
,
‘
e
’
};
String str = new String (arr,1,3);
[size=10.5000pt] 2)静态方法:
[size=10.5000pt] 3)Static String copyValue Of(char[])
[size=10.5000pt] 4)Static String copyValue Of(char[],offset,count)
Static String Value Of(char[])
3.2
:将字符串转成字符数组
Char[] toCharArray();
3.3
将字节数组转成字符串
String (byte[])
String(byte[],offset,count)
3.4
字符串转成字节数组
Byte[] getBytes();
3.5
:将基本数据类型转成字符串
Static String Value Of(int)
Static String Value Of(double)
2+””
四、
替换方法
String replace(char old,char,new);
String s=”
hello java”
; String s1 = s.replace(e,k); s为hello java, s1 为hkllo java
String s1 = s.replace(“java”,”word”);
[size=10.5000pt]五、切割方法
String[] split(regex);
[size=10.5000pt]六、子串,获取
String substring(int beginindex,int endindex)
包含头不包含尾
String substring(int begin)
[size=10.5000pt]七、转换、去除空格、比较
7.1
:大小写转换
String toUpperCase();
String toLowerCase();
7.2
:去除两端多个空格
String trim();
7.3
对两个字符串自然顺序比较
Int CompareTo()
等于
0
小于 负数 大于
-
正数 比较的
ASCII