1、String概述
字符串就是多个字符连接起来的一串数据
字符串的本质是一堆字符数组
字符串是常量,一旦赋值,值不能改变,但是引用可以改变。
(StringBuffer和string差不多,但是StringBuffer的值是可变,解决了String浪费内存的问题)
2、string类的常用改造方法
ASCII
String s = new String();
System.out.println(s);// 输出 :空
System.out.println(s.length());// 0
byte[] bytes = {97,98,99,100,101};
String s = new String(bytes);
System.out.println(s.toString());//abcde
// 97 代表a 65 代表A
(1)public String toString()
返回字符串本身
String str = "abcdefg";
System.out.println(str.toString());//abcdefg
(2)public char charAt(int index)
查找字符串中下标为index的字符,返回一个字符
String str = "abcdefg";
System.out.println(str.charAt(4));//e
(3)public boolean contains(CharSequence s)
判断前面的字符串是否包含后面的字符串
String str = "abcdefg";
System.out.println(str.contains("a"));//true
System.out.println(str.contains("v"));//false
(3)public boolean startsWith(String prefix)
判断当前字符串是否以prefix字符串开头
public boolean endsWith(String suffix)
判断当前字符串是否以suffix结尾
String str = "abcdefg";
System.out.println(str.startsWith("a"));//true
System.out.println(str.endsWith("g"));//true
(4)public boolean equals(object anObject)
判断当前字符串是否与后面字符串内容相同
public boolean equalslgnoreCase(string anotherString)
忽略大小写,判断当前字符串内容是否与后面字符串内容相同。
String str = "abcdefg";
String str1 = "ABCDEFG";
System.out.println(str.equals(str1));//false
System.out.println(str.equalsIgnoreCase(str1));//true
(5)public byte[] getBytes()
将字符串转换成byte[]数组。
String str = "abcdefg";
String str1 = "ABCDEFG";
byte[] b1;
byte[] b2;
b1 = str.getBytes();
b2 = str1.getBytes();
for (byte b : b1){
System.out.print(b+",");
//97,98,99,100,101,102,103,
}
System.out.println();
for (byte c : b2){
System.out.print(c+",");
//65,66,67,68,69,70,71,
}
(6)public int indexOf(string str)
返回某个字符串在当前字符串中第一次出现的下标,没有就返回-1
public int lastIndexOf(string str)
返回某个字符串在当前字符串中最后一次出现的下标,没有就返回-1
String str = "abcdefg";
String str1 = "ABCDEFG";
System.out.println(str.indexOf("c"));//2
System.out.println(str.lastIndexOf("f"));//5
(7)public int length()
返回字符串的长度
String str = "abcdefg";
String str1 = "ABCDEFG";
System.out.println(str.length());//7
(8)public String[] split(String regex)
将当前字符串以regex字符串隔开,隔开后片段以String[]形式返回
String str = "a,bcd,efg";
String str1 = "AB,CDE,FG";
String[] strings = str.split(",");
for (String s:strings){
System.out.println(s);
//a bcd efg
}
(9)public String substring(int a,int b)
从a开始截取,截取到b [a,b)
String str = "a,bcd,efg";
System.out.println(str.substring(1, 3));//,b
(10)public String toLoweCase()
将字符串全都转换成小写字母
public String toUpperCase()
将字符串全都转换成大写字母
String str = "a,bcd,efg";
System.out.println(str.toUpperCase());
System.out.println(str.toLowerCase());
(11)public String trim()
去除字符串前后的空格
String str = " a,bcd,efg ";
System.out.println(str.trim());//a,bcd,efg