● String 类表明字符串。Java 程序中的全部字符串字面值(如 “abc” )都做为此类的实例实现。 javascript
● 字符串是常量,它们的值在建立以后不能更改。css
● String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、建立字符串副本并将全部字符所有转换为大写或小写。
java
Java API 在线文档: http://docs.oracle.com/javase/7/docs/api/web
要建立类String的一个对象并进行初始化,须要调用类 String的构造方法。类String中提供了下面的一些构造方法:正则表达式
String s = new String();
String s = new String("hello");
char chars[ ] = { 'a' , 'b' , 'c' };
String s = new String(chars);
char chars[] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' };
String s = new String ( chars , 2 , 3 );//该方法生成的串s为“cde”。(注意数组的下标从0开始)
实例:api
String str1 = new String();
String str2 = new String("abcd");
char[] charArray = new char[]{'D', 'E', 'F'};
String str3 = new String(charArray);
char chars[] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' };
String s = new String ( chars , 2 , 3 );
System.out.println("a" + str1 + "b");
System.out.println(str2);
System.out.println(str3);
System.out.println(s);
int length() //返回字符串长度
char charAt(int index) //返回指定索引处的 char 值。
int indexOf(int ch) //返回指定字符在此字符串中第一次出现处的索引
int lastIndexOf(int ch) //返回指定字符在此字符串中最后一次出现处的索引。
实例:数组
String s = "abcdedcba";
System.out.println("字符串的长度为:" + s.length());
System.out.println("字符串中第一个字符:" + s.charAt(0));
System.out.println("字符c第一次出现的位置:" + s.indexOf('c'));
System.out.println("字符c最后一次出现的位置:" + s.lastIndexOf('c'));
char[] toCharArray() //将此字符串转换为一个新的字符数组。
static String valueOf(int i) //返回 int 参数的字符串表示形式。
大小写的转换:oracle
String toUpperCase(); //使用默认语言环境的规则将此 String 中的全部字符都转换为大写。
String toLowerCase(); //使用默认语言环境的规则将此 String 中的全部字符都转换为小写。
实例:svg
String str = "abcd";
System.out.println("将字符串转为字符数组后的结果:");
char[] charArray = str.toCharArray();
for(int i = 0; i < charArray.length - 1; i++) {
if(i != charArray.length - 1) {
System.out.println(charArray[i]);
}else {
System.out.println(charArray[i]);
}
}
System.out.println("将int值转换为String类型以后的结果:" + String.valueOf(12));
System.out.println("将字符串转换成大写以后结果:" + str.toUpperCase());
//返回一个新的字符串,它是经过用 newChar 替换此字符串中出现的全部 oldChar 获得的。
String replace(char oldChar, char newChar);
//返回字符串的副本,忽略前导空白和尾部空白。
String trim();
实例:测试
String s = "lingdu";
//字符串的替换操做
System.out.println("将li替换成cn.li的结果" + s.replace("li", "cn.li"));
//字符串去除空格操做
String s1 = " l i n g d u ";
System.out.println("去除字符串两端空格后的结果:" + s1.trim());
System.out.println("去除字符串中全部空格后的结果:" + s1.replace(" ",""));
boolean startsWith(String prefix) //测试此字符串是否以指定的前缀开始。
boolean endsWith(String suffix) //测试此字符串是否以指定的后缀结束。
boolean contains(CharSequence s) //当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean isEmpty() 当且仅当 length() //为 0 时返回 true。
boolean equals(Object anObject) //将此字符串与指定的对象比较。
实例:
String s1 = "String";
String s2 = new String("Str");
System.out.println("判断是否以字符串Str开头:" + s1.startsWith("Str"));
System.out.println("判断是否以字符串ng结尾:" + s1.endsWith("ng"));
System.out.println("判断是否包涵字符串tri: " + s1.contains("tri"));
System.out.println("判断字符串是否为空:" + s1.isEmpty());
System.out.println("判断两个字符串是否相等:" + s1.equals(s2));
// == 和 quelas() 的区别
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1 == str2); //结果为false,由于str1和str2是两个对象
System.out.println(str1.equals(str2)); //结果为true,由于str1和str2字符内容相同
String substring(int beginIndex) //返回一个新的字符串,它是此字符串的一个子字符串。
String substring(int beginIndex,int endIndex) //返回一个新字符串,它是此字符串的一个子字符串。
String[] split(String regex) //根据给定正则表达式的匹配拆分此字符串。
实例:
public static void main(String[] args) {
String str = "羽毛球-篮球-乒乓球 ";
//下面是字符串截取操做
System.out.println("从第5个字符截取到末尾的结果:" + str.substring(4));
System.out.println("从第5个字符截取到第6个字符的结果:" + str.substring(4, 6));
//下面是字符串分割操做
System.out.print("分割后的字符串数组中的元素依次为:");
String[] strArray = str.split("-");
for(int i = 0; i < strArray.length; i++) {
if( i != strArray.length - 1) {
System.out.print(strArray[i] + ",");
}else {
System.out.println(strArray[i]);
}
}
}