这些天都在看比较深的内容,头疼不已,故捡一些比较基础的东西,比如这篇String类。
掌握String类中的常用方法
了解API文档的查找方法
具体内容
一门语言,除了语言本身要非常优秀之外,另外最主要的就是要有语言的使用文档,在文档
中明确的为用户列出了全部的类及相关的操作方法的说明。
1、字符数组与字符串
一个字符串可以变为一个字符数组,同样,也可以把一个字符数组,变为一个字符串。
在String类中提供了以下的操作方法:
·将字符串变为字符数组:public char[] toCharArray()
·字符数组变为字符串:public String(char[] value)
public String(char[] value,int offset,int count)
public class Test {
public static void main(String args[]){
String str1 = "Hello";
char c[] = str1.toCharArray();
for(int i=0;i<c.length;i++){
System.out.println(c[i]+",");
}
System.out.println(" ");
String str2 = new String(c);
String str3 = new String(c,0,3);
System.out.println(str2);
System.out.println(str3);
}
}
2、从字符串中取出指定位置的字符
如果要想使用此操作,则肯定此方法的返回值是一个char类型。
public class Test {
public static void main(String args[]){
String str1 = "Hello";
System.out.println(str1.charAt(4));
}
}
使用方法charAt(0;可以指定取出具体哪一个字符,必须注意的是,从0开始,比如上述取出的是‘o',也就是考虑数组从0开始。
3、字符串与byte数组的转换
byte数组(字节数组),在一般的IO操作中会经常使用到。
在String类中提供了以下的方法可以进行字符串与字节数组的转换:
·字符串变为字节数组:public byte[] getBytes()
·将一个字节数组变为字符串:
|- 将全部字节数组变为String:public String(byte[] bytes)
|- 将部分字节数组变为String:public String(byte[]bytes,int offset,int lenth)
public class Test {
public static void main(String args[]){
String str1 = "Hello";
byte b[] = str1.getBytes();
System.out.println(new String(b));
System.out.println(new String(b,1,3));
}
}
4、取得一个字符串的长度
要想取得字符串中的长度:public int length()
注意:
很多人学到此处的时候就会为一个小的地方开始犯迷糊。在操作中数组中可以使用“数组名称.length”,那么有的人在使用的时候就习惯的在字符串操作的地方也使用“字符串.length”的格式:strl.length。
public class Test {
public static void main(String args[]){
String str1 = "Hello huangjin";
System.out.println("\""+str1+"\"的长度为:"+str1.length());
}
}
5、查找指定的字符串是否存在
在实际操作中,经常会使用到判断一个字符串中是否存在某些内容,此时就可以使用以
下的方法:
·从头开始查找:public int indexOf(String str)
·从指定位置开始查找:public int indexOf(String str,int fromIndex)
查找的时候,方法的返回值是一个int类型的数据,此数据表示的是一个字符串的具体位置,如果没有查找到此字符串,则返回“-1”。
public class Test {
public static void main(String args[]){
String str1 = "Hello huangjin";
System.out.println("\""+str1+"\"的长度为:"+str1.length());
System.out.println(str1.indexOf("o"));
System.out.println(str1.indexOf("o",3));
System.out.println(str1.indexOf("z"));
}
}
6、去掉空格
如果一些信息是由用户输入的话,则就可能出现多余的空格,在这种操作中就可以使用trim()去掉字符串的左右空格,但是字符串中间的空格是不可能去掉的。
public class Test {
public static void main(String args[]){
String str1 = " Hello df ";
System.out.println(str1.trim());
}
}
7、字符截取
从一个指定的字符串中取出里面的部分内容,使用的方法:
·从指定位置开始一直截取到结束位置:public String substring(int beginIndex)
·截取指定范围的字符串:public String substring(int beginIndex,int endIndex)
public class Test {
public static void main(String args[]){
String str1 = "hello world";
System.out.println(str1.substring(0));
System.out.println(str1.substring(1,3));
}
}
8、拆分字符串
如果现在需要按指定的字符串去拆分一个字符串的话,则使用:public String[] split(String regex)
public class Test {
public static void main(String args[]){
String str1 = "i love you";
String s[] = str1.split(" ");
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
}
}
9、大小写转换
此功能在一般的开发语言都会存在,讲一个大写的字符串全部字母变为小写,或者将一个小写的字符串中的全部字母变为大写。
·小写变大写:public String toUpperCase()
·大写变小写:public String toLowerCase()
public class Test {
public static void main(String args[]){
String s = new String("hello WORLD");
System.out.println("hello world".toUpperCase());
System.out.println("HELLO WORLD".toLowerCase());
System.out.println(s.toUpperCase());
}
}
10、判断是否以指定的字符串开头或结尾在String中可以使用以下的两个方法完成:
·判断是否以指定的字符串开头:public Boolean startsWith(String prefix)
·判断是否以指定的字符串结尾:public Boolean endsWith(String suffix)
public class Test {
public static void main(String args[]){
String str1 = "**HELLO";
String str2 = "HELLO**";
if(str1.startsWith("**")){
System.out.println("以**开头");
}
if(str2.endsWith("**")){
System.out.println("以**结尾");
}
}
}
11、不区分大小写的比较
在String类中equals()方法是可以用来进行字符串比较的,但是此种比较方法的只能针对大小写完全一样的字符串进行比较,如果现在要是想进行不区分大小写的比较,则可以使用以下的方法:
·public Boolean equalsIgonoreCase(String anotherString)
public class Test {
public static void main(String args[]){
String str1 = "HELLO world";
String str2 = "hello WORLD";
System.out.println("\"HELLO\" equals \"hello\" "+str1.equals(str2));
System.out.println("\"HELLO\" equalsIgnoreCase \"hello\" "+str1.equalsIgnoreCase(str2));
}
}
12、字符串替换功能
在String类中提供了以下方法用于字符串的替换操作:
·public String replaceAll(String regex,String replacement)
public class Test {
public static void main(String args[]){
String str = "hello";
String newstr = str.replaceAll("l","x");
String s = str.replaceAll(str,newstr);
System.out.println("替换之后的结果:"+newstr);
System.out.println("替换之后的结果:"+s);
}
}