String类的常用功能
1.判断功能day12_String的cn.itcast_03的StringDemo
-
boolean equals(Object obj):比较字符串的内容是否相同,区分大小写
-
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
-
boolean contains(String str):判断大字符串中是否包含小字符串 //这个包含要求字母要连在一起,才算包含
-
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
-
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
-
boolean isEmpty():判断字符串内容是否为空 //若是给一个对象为空的来判断,会报空指针异常
注意:
字符串内容为空 String s = “”;
字符串对象为空 String s = null;
2.获取功能:day12_String的cn.itcast_04的StringDemo
-
int length():获取字符串的长度
-
char charAt(int index):获取指定索引位置的字符
-
int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引
为什么这里接收的参数是int类型,而不是char类型?
原因:‘a’和97其实都可以代表’a’,int类型可以写’a’也可以写97,char类型不能 -
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引 //这里返回的索引,是被查找的这个字符串的第一个字母的索引
-
int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引
-
int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引
-
String substring(int start):从指定位置开始截取字符串,默认到末尾 //包含start这个索引
-
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串 //包左不包右,包括start索引但是不包end索引(以后看到的几乎都是这个规则)
3.转换功能:day12_String的cn.itcast_05的StringDemo
- byte[] getBytes():把字符串转换为字节数组 //输出一串byte类型的数组
- char[] toCharArray():把字符串转换为字符数组 //输出一串char类型的数组
- static String valueOf(char[] chs):把字符数组转成字符串 //构造方法也可以做到,但这种方法更好
- static String valueOf(int i):把int类型的数据转成字符串 //注:String类的valueOf方法可以把任意类型的数据转成字符串,虽然可能输出看不出,但本质上类型变为字符串类型
- String toLowerCase():把字符串转成小写 //调用这个方法是产生新字符串,原字符串没变
- String toUpperCase():把字符串转成大写
- String concat(String str):把字符串拼接 //开发时一般不用这个,而是直接用+拼接,更方便
4.其他功能:day12_String的cn.itcast_06的StringDemo
-
替换功能
-
String replace(char old,char new) //把其中的某个字符替换成新的
-
String replace(String old,String new) //把其中的某段字符替换成新的
-
去除字符串前后空格(中间的保留)
-
String trim()
-
按字典顺序比较两个字符串
-
int compareTo(String str) //从第一个字符开始,字符相同就看第二个字符,直到不同,前面字符的ASCII码值减后面字符的ASCII码值,得到的值返回
也就是说,参数字符串等于此字符串,返回 0;此字符串小于字符串参数,则返回一个小于0的值;否则返回一个大于 0 的值
String s1 = “hello”;
String s2 = “hel”;
System.out.println(s1.compareTo(s2));
//输出2(都相同,s2后面没了,则长度相减)
- int compareToIgnoreCase(String str) //同上,只不过忽视大小写
5.案例:
- 模拟用户登录,登录成功后玩猜数字游戏
- 自己做的:
2019-08-21的day12string
- 参考代码:
day12_String的cn.itcast_03的StringTest2
- 字符串遍历:
day12_String的cn.itcast_04的StringTest
- 统计字符串中大写,小写及数字字符的个数
- 自己做的:
2019-08-21的day12string2
- 参考代码:
day12_String的cn.itcast_04的StringTest2
- 把字符串的首字母转大写,其他小写:
2019-08-21的day12string3
- 把int数组拼接成一个指定格式的字符串:
day12_String的cn.itcast_07的StringTest2
- 字符串反转:
2019-08-22的day12string
(自己做的,用了两种方法) - 统计大串中小串出现的次数:
day12_String的cn.itcast_07的StringTest5