String类特点:
字符串对象一旦被初始化就不会被改变。
String s = "abc";//指abc不会变
abc存储在字符串常量池中。(常量池中没有的,就创建;常量池中有的,直接用)
按照面向对象的思想对字符串进行功能分类。“abcd”
获取:
1.1 获取字符串中字符的个数(长度)
int length();
1.2 根据位置获取字符
char charAt(int index);
1.3 根据字符获取在字符串中的第一次出现的位置
int indexOf(int ch)
int indexOf(int ch,int fromIndex) 从指定位置进行ch的查找第一次出现位置
int indexOf(String str)
int indexOf(String str,int fromIndex)
根据字符串获取在字符串中的第一次出现的位置
int lastindexOf(int ch)
int lastindexOfindexOf(int ch,int fromIndex) 从指定位置进行ch的查找第一次出现位置
int lastindexOfindexOf(String str)
int lastindexOfindexOf(String str,int fromIndex)
1.4 获取字符串中的一部分字符串。也叫子串。
String substring(int beginIndex,int endIndex)//包含begin,不含end
String substring(int beginIndex)
转换
2.1 将字符串变成字符串数组(字符串的切割)
String[] split(String regex);涉及到正则表达式
2.2 将字符串变成数组
char[] toCharArray();
2.3 将字符串变成字节数组
byte[] getBytes();
2.4 将字符串中的字母转成大小写
String toUpperCase():大写
String toLowerCase():小写
2.5 将字符串中的内容进行替换
String replace(char oldch,char newch);
String replace(String s1,String s2);
2.6 将字符串两端的空格去除
String trim();
2.7 将字符串进行连接
String concat(String)
2.8 将类型转换为String
String valueOf()
判断
3.1 两个字符串内容是否相同
boolean equals(Object obj);
boolean equalsIgnoreCase(String str);//忽略大小写比较字符串内容
3.2 字符串中是否包含指定字符串?
boolean contains(String str);
3.3 字符串是否以指定字符串开头,是否以指定字符串结尾。
boolean startsWith(string);
boolean endWith(string);
比较
根据对象自身的特点完成比较
等于——0
小于——负数
大于——整数
练习:
1. 给定一个字符串数组,按照字典顺序进行从小到大的排序。
2. 一个子串在整串中出现的次数。