您的位置:首页 > 职场人生

黑马程序员—java技术blog—第二篇:String 类的常用方法

2014-08-01 13:51 369 查看
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

一、String类的构造函数

1.字节数组

String(byte[])

//解码,让我们看的懂的,通过默认的GBK编码表,将字节数组转换成字符串

例:byte[] arr={97,98,99};

String str=new String(arr);

System.out.println(str);//abc

String(byte[], String)

//解码,通过指定的编码表,将字节数组转换成字符串

例:byte[] arr1={97,98,99};

String str1=new String(arr1,”UTF-8”);

System.out.println(str1);//abc

String(byte[], int offset, int length, String)

//解码,截取字节数组,offset是开始索引,length是截取的长度

例:byte[] arr2={97,98,99};

String str2=new String(arr2,0,2,”GBK”);

System.out.println(str2);//ab

2.字符数组

String(char[])

//将字符数组转换成字符串

例:char[] arr3={‘1’,’2’,’3’};

String str3=new String(arr3);

System.out.println(str3);//123

String(char[], int offset, int length)

//截取字符数组,offset是开始的索引,length是截取的长度

例:char[] arr4={‘1’,’2’,’3’};

String st4=new String(arr4);

System.out.println(str4,0,2);//12

二、常用方法

1,判断

1.1 boolean equals(Object);

//判断传入的字符串是否与调用的字符串字符序列是否相同,相同就返回true否则false

1.2 boolean contains(string);

//判断传入的字符串是否被调用的字符串包含

1.3 boolean startsWith(string);

//判断调用的字符串是否以传入的字符串开头

1.4boolean endsWith(string);

//判断调用的字符串是否以传入的字符串结尾

1.5 boolean isEmpty();

//判断字符串是否为空

例:String str5=”adafg”;

String str6=”adaafff”;

System.out.println(str5.equals(str6));//false

System.out.println(str5.contains(“ada”));//true

System.out.println(str5.startsWith(“ad”));//true

System.out.println(str5.endsWith(“ad”));//true

System.out.println(str5.isEmpty());//true

2,获取

2.1 int length();

//获取字符串的长度

2.2 char charAt(index);

//通过索引获取对应的字符

2.3 int indexOf(int ch);

//通过传入int数或者是字符找对应索引

2.4 int indexOf(string str);

//通过传入字符串查找字符串所对应的索引

2.5 int lastIndexOf(ch);

//通过传入的字符从后向前找字符的索引值,把从后向前第一次找到的索引值返回

2.6 int lastIndexOf(string);

//通过传入的字符串,从后向前查找,将第一次找到字符串中第一个字符的索引返回

2.7 String substring(start);

//通过传入的索引值开始向后截取,截取的是索引到length

String substring(start,end);

//通过传入的两个索引值截取,有开始有结尾,包含头不包含尾

例:String str7=”abvdgg”;

System.out.println(str7.length());//6

System.out.println(str7.charAt(0));//a

System.out.println(str7.indexOf(b));//1

System.out.println(str7.indexOf(“ad”));//-1

System.out.println(str7.lastIndexOf(g));//0

System.out.println(str7.lastIndexOf(“ad”));//-1

System.out.println(str7.substring(1));//bvdgg

System.out.println(str7.substring(1,4));//bvd

3,转换

3.1 byte[] getBytes();

//编码,让计算机看的懂的,用默认的编码表,将字符串转换成字节数组

byte[] getBytes(String)

//用指定的编码表进行编码

3.2 char[] toCharArray();

//将字符串转换成字符数组

3.3 static String valueOf(char[]);

//将字符数组转换成字符串

3.4 static String valueOf(int);

static String valueOf(double);

static String valueOf(boolean);

...

//将一个int数转换成字符串

3.5 String toLowerCase():

//将字符串全部转换为小写

String toUpperCase():

//将字符串全班转换为大写

例:

String str8=”adafg”;

byte[]by=str8.getBytes();

for(byte b : by) {

System.out.print(b+" ");

}//97 100 97 102 103

byte[]by1=str8.getBytes(“gbk”);

f or(byte b : by) {

System.out.print(b+" ");

}//97 100 97 102 103

Char[] ch=str8.toCharArray();

f or(Char b : ch) {

System.out.print(b+" ");

}//a d a f g

String str9=str8.valueOf(ch);

System.out.println(str9);//adafg

System.out.println(str8.toUpperCase());//ADAFG System.out.println(str8.toLowerCase());//adafg

4,替换。

4.1 String replace(oldChar,newChar);

//将newChar替换OldChar,如果OldChar不存在,原字符串直接赋值给替换后字符串

4.2 String replacel( target, replacement );

例子:

String str="dafgdf";

System.out.println(str.replace('c', 'f'));//dafgdf

System.out.println(str.replace("da", "dd"));//ddfgdf

5,切割。

String[] split(regex);

//通过regex切割字符串,切割后会产生一个字符串数组

String str10 = "金三胖 郭美美 李天一";

String[] arr5 = str10.split(" ");

for (String string : arr5) {

System.out.println(string);

}//金三胖

//郭美美

//李天一

6,去除字符串两空格。

String trim();

String str11=" ddffggg ";

System.out.println(str11);// ddffggg

System.out.println(str11.trim());//ddffggg

7,比较

String compareTo(anotherString)

//按字典顺序比较两个字符串。

String str12="daafs";

String str13="daddf";

System.out.println(str12.compareTo(str13));//-3

----- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: