String 的构造方法:
String s = new String (byte[] arr);将byte数组转化为字符串
String s = new String (byte[] arr,offest(起点), length);将byte数组的一部分转换为字符串
byte[] arr = {'a','b','c'};
String s = new String(arr);
System.out.println(s); //abc
String s = new String(char[] arr);将char数组转化为字符串
String s = new String(char[] arr,offset,length);将char数组的一部分转化为字符串
char[] arr = {'中','国'};
String s = new String(arr);
System.out.println(s); //中国
String类中的方法:
valueOf(); 静态方法,将 非字符串 转换为字符串
System.out.print(String . valueOf(1234567)); //1234567
String s = String.valueOf(123);
System.out.println(s); //123
char charAt(int index); 返回字符串中特定下标的字符
System.out.print(“abc”.charAt(0)); 返回a
String s = "abcde";
System.out.println(s.charAt(3)); //d
int compareTo(String anotherString); 按字典顺序(依次比较ascll)比较两个字符串,0表示相等,负数表示前面的字符串小于后面的,正数表示后面的字符串大于前面的
System.out.print(“abc”.compareTo(“bcd”)); //-1 因为a在b前面
System.out.print(“fc”.compareTo(“cd”)); // 3 因为f在c的后面
String s = "a";
String s1 = "z";
System.out.println(s1.compareTo(s)); //25
boolean contains(CharSequence s); 判断前面的字符串是否包含后面的字符串
System.out.print(“helloworld”.contains(“hello”)); //true
String s = "abcde";
String w = "de";
System.out.println(s.contains(w)); //true
boolean endsWith(String suffix); 判断前面的字符串是不是以后面的suffix(后缀)结尾
boolean startsWith(String prefix); 判断字符是不是以perfix(前缀)开头的
System.out.print(“helloworld”.endsWith(“rld”)); //true
System.out.print(“helloworld”.startsWith(“hell”)); //true
String s = "abcde";
String w = "de";
System.out.println(s.endsWith(w)); //true
boolean equalsIgnoreCase(String anotherString); 比较两个字符串是否相等,忽略大小写
System.out.print(“ABC”.equalsIgnoreCase(“abc”); // true
String s = "AbC";
String w = "aBc";
System.out.println(s.equalsIgnoreCase(w)); //true
byte[] getBytes(); 将字符串对象转化为byte数组
Byte[] by = “asdf”.getBytes();
byte[] arr = "abc".getBytes();
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]); //97 98 99
}
Int indexOf(String str); 判断 子字符串在当前字符串第一次出现的索引
Int lastIndexOf(String str); 返回子字符串最后一次出现的下标
System.out.print(“asgarg”.indexOf(“ga”)); // 2
String s = "abcdef";
String w = "cd";
System.out.println(s.indexOf(w)); //2
boolean isEmpty(); 判断一个字符串是否为空 empty(空的,无意义的)
String s = “”;
System.out.print(s.isEmpty()); //true
String s = "";
System.out.println(s.isEmpty()); //true
Int length(); 返回字符串的长度
System.out.print(“abc”.length()); //3
String s = "gsegrsergeraert465345";
System.out.println(s.length()); //21
String replace (charSequence target , charSequence replacement); 完成字符串的替换
CharSequence 是String的父接口
System.out.print(“abcd”.replace(“ab” , “cd”)); //cdcd
String s = "abcde";
System.out.println(s.replace("abcde","666")); //666
String[] split(String regex); 切割字符串 split(切割,分开)
String[] arr = “2001-06-09”.split(“-”); // 用” –“来分割字符串并形成数组
For(i=0;i<arr.length;i++) System.out.print(arr[i] ); //2001 06 09
String s = "2000-01-01";
String[] arr = s.split("-");
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
} //2000 01 01
String substring(int beginIndex); 从某个下标开始截取后面的字符串
String substring(int beginIndex{包括下标对应的字符} ,int endIndex{不包括下标}); 截取中间的一段字符串
System.out.print(“dengxiande”.substring(4)); //xiande
System.out.print(“dengxiande”.substring(4 ,8)); //xian
String s = "19991109";
System.out.println(s.substring(4)); //1109
char[] toCharArray(); 将字符串转换为char 数组
char[] arr = “deng”.toCharArray();
for(i=0;i<arr.length;i++) System.out.print(arr[i]); // d e n g
String s = "abc";
char[] arr = s.toCharArray();
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]);
} //a b c
String toLowerCase(); 将字符串转换为小写
String toUpperCase(); 转换为大写 upper(较高的)
System.out.print(“DENG”.toLowerCase()); //deng
System.out.print(“dengxiande”.toUpCase()); //DENGXIANDE
String s = "abc";
System.out.println(s.toUpperCase()); //ABC
String s = "ABC";
System.out.println(s.toLowerCase()); //abc
String trim(); 去除字符串前后的 空白, 中间的不能去除。 trim(修剪,切边)
System.out.print(“ d e n g ”.trim()); // d e n g
String s = " A B C ";
System.out.println(s.trim()); //A B C