概述
java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例。类 String中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本。
特点:
1.字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为String对象是不可变的,所以可以共享,例如:
String str = "abc"
查看构造方法
-
String() ://创建一个空字符,是“”,不是null
-
String(char[] value) :
-
String(byte[] bytes) :
// 无参构造
String str = new String();
// 通过字符数组构造
char chars[] = {'a', 'b', 'c'};
String str2 = new String(chars)
// 通过字节数组构造
byte bytes[] = { 97, 98, 99 };
String str3 = new String(bytes);
方法:
查找类的方法:
char charAt(int index)返向指定索引处的char值。
int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。其实有很多重载的方法,可以传字符串
int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。
判断类的方法:
boolean contains(CharSequence s)当且仅当此字符包含指定的char值序列时,返回true
boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束。
boolean startsWith(String prefix,int toffset)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
boolean equals(Object anObject)将此字符串与指定的对象比较。
boolean equalsIgnoreCase(String anotherString)将此String与另一个String比较,不考虑大小写。
boolean isEmpty()当且仅当length()为0时返回true.
转换类:
byte[]getBytes()使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中。
char[] toCharArray()将此字符串转换为一个新的字符数组
String toLowerCase()使用默认语言环境的规则将此String中的所有字符都转换为小写
String toUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。
static String valueOf(boolean b)返回boolean参数的字符串表示形式。
字符截取:
String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串
String substring(int beginIndex,int endIndex)返回一个新字符串,它是此字符串的一个子字符串。
字符替换:
String replace(char oldChar,char newChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的
String replaceAll(String regex,String replacement)
其他方法:
String concat(String str)将指定字符串连接到此字符串的结尾。
int length()返回此字符串的长度。
String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
String trim()返回字符串的副本,忽略前导空白和尾部空白
__________________________________________________________________________
查找类的方法:
//char charAt(int index)返向指定索引处的char值。 //根据下标找字符 char c = "java".charAt(1); System.out.println(c); //int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。 // 其实有很多重载的方法,可以传字符串 //找不到返回-1 //根据字符找下标 int a = "java".indexOf("a"); int a2 = "java".indexOf("cv"); System.out.println(a2); //int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。 System.out.println("java".lastIndexOf("a")); // 思考题:找javaava中,第二个a,利用indexOf(String s,int fromIndex) 方法
判断类的方法:
//判断类方法—————————— //boolean contains(CharSequence s)当且仅当此字符包含指定的char值序列时,返回true System.out.println("java".contains("cv")); //boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束。 System.out.println("java".endsWith("a")); //场景:用来判断文件格式 System.out.println("a.txt".endsWith("txt")); //boolean startsWith(String prefix)测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 System.out.println("a.txt".startsWith("a")); //boolean equals(Object anObject)将此字符串与指定的对象比较。 String a = "a"; //重写 String a2 = "a"; System.out.println(a.equals(a2)); //boolean equalsIgnoreCase(String anotherString)将此String与另一个String比较,不考虑大小写。 System.out.println("Java".equals("java")); //忽略大小写判断是否相等 System.out.println("Java".equalsIgnoreCase("java")); //boolean isEmpty()当且仅当length()为0时返回true. //判断是否为空 System.out.println("".isEmpty()); System.out.println("java".isEmpty());
转换类:
//_______________________________________________________________________________________________ //转换类: //byte[]getBytes()使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中。 byte[] bytes = "java".getBytes(); //char[] toCharArray()将此字符串转换为一个新的字符数组 char[] chars = "java".toCharArray(); //String toLowerCase()使用默认语言环境的规则将此String中的所有字符都转换为小写 System.out.println("JAVA".toLowerCase()); //转小写 //String toUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。 System.out.println("java".toUpperCase()); //转大写 //转大写 //static String valueOf(boolean b) // 返回boolean参数的字符串表示形式。 //提供了多个重载方法,可以将大部分类型都转换成String //注意,该方法是静态的 String.valueOf(new Object()) ;
字符截取: //String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串 String s = "java".substring(1); System.out.println(s); //String substring(int beginIndex,int endIndex)返回一个新字符串,它是此字符串的一个子字符串。 //endIndex后面的下标不包含 String s2 = "java".substring(1,2); System.out.println(s2); 字符替换: //String replace(char oldChar,char newChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的 System.out.println("jav,av,av,a".replace("av","AV")); //String replaceAll(String regex,String replacement)
其他方法:
//其他方法: //String concat(String str)将指定字符串连接到此字符串的结尾。 System.out.println("java".concat("bigdata")); //拼接 //int length()返回此字符串的长度。 System.out.println("java".length()); //String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 String[] split = "java".split(""); System.out.println(Arrays.toString(split)); String[] split2 = "j-a-v-a".split("-"); System.out.println(Arrays.toString(split2)); //.是正则表达式的运算符,需要转义成字符 String[] split3 = "java入门到精通.doc".split("\\."); System.out.println(Arrays.toString(split3)); //String trim()返回字符串的副本,忽略前导空白和尾部空白