JAVA中的String类

131 阅读3分钟

Java的八种基本数据类型:

字符型(char) 布尔型(boolean) 数值型(byte、short、int、long、float、double)

String并不属于八中基本数据类型 String类位于java.lang包中,使用String类创建的字符串变量属于对象,默认值为null 注意:new String(); 和 new String("");都是声明一个空串,而不是null

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder类

常用方法

字符串变量名.length();

返回值为int类型,得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)

字符串名.charAt(值);

返回值为char类型,从字符串中取出指定位置的字符

字符串变量明.toCharArray();

返回值为字符数组(char[])类型,将字符串转换为字符数组

字符串名.indexOf("字符"); / 字符串名.indexOf("字符",值);

查找一个指定字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1 字符串名.indexOf("字符",值);→从该值开始找

lastIndexOf("字符")

得到指定内容最后一次出现的下标

字符串名.toUpperCase(); / 字符串名.toLowerCase();

字符串大小写转换

split("字符")

根据给定的正则表达式的匹配来拆分此字符串,形成一个新的字符串数组String[]。

字符串变量名.equals(Object Object);

返回值为布尔类型,比较两个字符串是否相等

equalsIgnoreCase(String);

忽略大小写比较两个字符串的值是否一样,返回布尔值。

字符串名.substring(int beginIndex,int endIndex);

截取子串,从左边数值开始,包含左端,但不包含右端

字符串名.contains(String)

判断一个字符串里面是否包含指定的内容,返回一个布尔值

字符串名.replace(char oldChar,char newChar);

新字符替换旧字符

字符串名.compareTo()

String类中的compareTo()方法将返回两个字符串对象的比较结果,若相等,返回0。不相等时,从两个字符串第1个字符开始比较,返回第一个不相等的字符差;另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。 示例:

String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

字符串名.split(标志符)

String str = "张三,李四,王五,赵六";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++) {
    System.out.println(names[i]);
}

输出: 张三 李四 王五 赵六

StringBuffer类

与String类间无继承关系,不能强转!

转换方法:

String string1 = "Hello World!";
StringBuffer stringBuffer = new StringBuffer(string1);  //String转换为StringBuffer
String string2 = stringBuffer.toString();  //StringBuffer转换为String

append()方法

追加内容到当前StringBuffer对象的末尾,类似于字符串的连接

StringBuffer stringBuffer = new StringBuffer("Hello");
stringBuffer.append("World!");

reverse()方法

把当前字符序列反转后返回

StringBuffer stringBuffer = new StringBuffer("abc");
System.out.println(stringBuffer.reverse());