- 字符串是一个特殊的对象
- 字符串一旦初始化就不可以改变
- String str = "abc";
- String str1 = new String("abc");有什么区别
String s1 = "abc";//s1是一个类类型对象,"abc"是一个对象
//字符串最大特点,一旦被初始化就不可以被改变。
String s2 = new String("abc");
//s1 和 s2 有什么区别
//s1在内存中有个一个对象
//s2在内存中两个对象
System.out.println(s1==s2);//faulse
System.out.println(s1.equals(s2));//true
//String类复写了object类中的equals方法,该方法用于判断字符串是否相同
常见的字符串操作
-
获取
1.字符串中包含的字符数,也是字符串的长度。
int length();获取长度
2.根据位置获取位置上某个字符
char charAt(int index);
3.根据字符获取该字符在字符串中位置
int indexOf(int ch);//返回的是ch在字符串中第一次出现的位置
int indexOf(int ch, int fromIndex);//从fromIndex指定位置开始,获取ch在字 符串中出现的位置
int indexOf(String str);//返回的是str在字符串中第一次出现的位置
int indexOf(String str, int fromIndex);//从fromIndex指定位置开始,获取str在字 符串中出现的位置
int lastIndexOf(String str);//反向字符串索引查询
-
判断
1.字符串中是否包含某个子串
boolean contains(str);//特殊之处,indexOf(str);可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中存在,所以也用于对指定字符串是否包含
if(str.indexOf(aa) != -1);//包含,该方法即可判断,又可以获取出现的位置
2.字符中是否有内容
boolean isEmpty();//原理就是判断字符串长度是否为0
3.字符串是否以指定内容开头
boolean startWith(str);
4.字符串是否以指定内容结尾
boolean endWith(str);
5.判断字符串内容是否相同。复写了Object类中的equals方法。
boolean equals(str);
6.判断内容是否相投,并忽略大小写
boolean equalsIgnoreCase();
-
转换
1.将字符数组转成字符串
构造函数:
String(char[]);
String(char[], offset ,count);//将字符数组中的一部分转成字符串。
静态方法:
static String copyValueOf (char[]);
static String copyValueOf (char[] , int offset, int count);
static String valueOf(char[]);
2.将字符串转成字符数组
char[] toCharArray()
3.将字节数组转成字符串
String(byte[]);
String(byte[], offset ,count);//将字节数组中的一部分转成字符
4.将字符串转成字节数组
byte getBytes();
5.将基础数据类型转成字符串
static String valueOf(int)
static String valueOf(double)
3+"";//String.valueOf(3);
-
替换
String replace(oldChar, newChar);
-
切割
String[] split(regex);
-
子串
String substring(begin);//从指定位置开始到结尾
String substring(begin, end);//包含头,不包含尾部
String s = "abcdef";
systerm.out.println(s.substring(2,4));//结果是cd
-
转换,去除空格,比较
1.将字符串转成大写或者小写
String toUpperCase();
String toLowerCase();
2.将字符串两端的多个空格去除
String trim();
3.对两个字符串进行自然顺序比较
int compareTo(string);
网友评论