string类的使用方法详解
程序员文章站
2024-01-29 22:18:22
string:字符串类型1、构造函数。
string() :构造一个空字符串对象。string(byte[] bytes) :通过byte数组构造字符串对象。string...
string:字符串类型
1、构造函数。
2、方法。
说明:
1. 所有方法均为public;
2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])>
如:
static int parseint(string s) 表示:此方法(parseint)为类方法(static),返回类型为(int),方法所需参数为string类型。
1、构造函数。
string() :构造一个空字符串对象。
string(byte[] bytes) :通过byte数组构造字符串对象。
string(byte[] bytes, int offset, int length) :通过byte数组,从offset开始,总共length长的字节构造字符串对象。
string(char[] value) :通过char数组构造字符串对象。
string(char[] value, int offset, int count) :通过char数组,从offset开始,总共length长的字节构造字符串对象。
string(string original) :构造一个original的副本。既,拷贝一个original。
string(stringbuffer buffer) :通过stringbuffer数组构造字符串对象;
byte[] b = {'a','b','c','d','e','f','g','h','i','j'};
char[] c = {'0','1','2','3','4','5','6','7','8','9'};
string sb = new string(b);
string sb_sub = new string(b,3,2);
string sc = new string(c);
string sc_sub = new string(c,3,2);
string sb_copy = new string(sb);
system.out.println("sb: " + sb );
system.out.println("sb_sub: " + sb_sub );
system.out.println("sc: " + sc );
system.out.println("sc_sub: " + sc_sub );
system.out.println("sb_copy: " + sb_copy );
结果为:
sb: abcdefghij
sb_sub: de
sc: 0123456789
sc_sub: 34
sb_copy: abcdefghij
2、方法。
说明:
1. 所有方法均为public;
2. 书写格式:[修饰符] <返回类型> <方法名([参数列表])>
如:
static int parseint(string s) 表示:此方法(parseint)为类方法(static),返回类型为(int),方法所需参数为string类型。
1. char charat(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
string s = new string("abcdefghijklmnopqrstuvwxyz");
system.out.println("s.charat(5): " + s.charat(5) );
结果为:s.charat(5): f
- 2. int compareto(string anotherstring) :当前string对象与anotherstring比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
3. int compareto(object o) :如果o是string对象,和2的功能一样;否则抛出classcastexception异常。
string s1 = new string("abcdefghijklmn");
string s2 = new string("abcdefghij");
string s3 = new string("abcdefghijalmn");
system.out.println("s1.compareto(s2): " + s1.compareto(s2) );//返回长度差
system.out.println("s1.compareto(s3): " + s1.compareto(s3) );//返回'k'-'a'的差
结果为:
s1.compareto(s2): 4
s1.compareto(s3): 10
4. string concat(string str) :将该string对象与str连接在一起。
5. boolean contentequals(stringbuffer sb) :将该string对象与stringbuffer对象sb进行比较。
6. static string copyvalueof(char[] data) :
7. static string copyvalueof(char[] data, int offset, int count) :这两个方法将char数组转换成string,与其中一个构造函数类似。
8. boolean endswith(string suffix) :该string对象是否以suffix结尾。
string s1 = new string("abcdefghij");
string s2 = new string("ghij");
system.out.println("s1.endswith(s2): " + s1.endswith(s2) );
结果为:s1.endswith(s2): true
9. boolean equals(object anobject) :当anobject不为空并且与当前string对象一样,返回true;否则,返回false。
10. byte[] getbytes() :将该string对象转换成byte数组。
11. void getchars(int srcbegin, int srcend, char[] dst, int dstbegin) :该方法将字符串拷贝到字符数组中。其中,srcbegin为拷贝的起始位置、srcend为拷贝的结束位置、字符串数值dst为目标字符数组、dstbegin为目标字符数组的拷贝起始位置。
char[] s1 = {'i',' ','l','o','v','e',' ','h','e','r','!'};//s1=i love her!
string s2 = new string("you!");
s2.getchars(0,3,s1,7); //s1=i love you!
system.out.println( s1 );
结果为:i love you!
- 12. int hashcode() :返回当前字符的哈希表码。
13. int indexof(int ch) :只找第一个匹配字符位置。
14. int indexof(int ch, int fromindex) :从fromindex开始找第一个匹配字符位置。
15. int indexof(string str) :只找第一个匹配字符串位置。
16. int indexof(string str, int fromindex) :从fromindex开始找第一个匹配字符串位置。
string s = new string("write once, run anywhere!");
string ss = new string("run");
system.out.println("s.indexof('r'): " + s.indexof('r') );
system.out.println("s.indexof('r',2): " + s.indexof('r',2) );
system.out.println("s.indexof(ss): " + s.indexof(ss) );
结果为:
s.indexof('r'): 1
s.indexof('r',2): 12
s.indexof(ss): 12
- 17. int lastindexof(int ch)
18. int lastindexof(int ch, int fromindex)
19. int lastindexof(string str)
20. int lastindexof(string str, int fromindex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。
21. int length() :返回当前字符串长度。
22. string replace(char oldchar, char newchar) :将字符号串中第一个oldchar替换成newchar。
23. boolean startswith(string prefix) :该string对象是否以prefix开始。
24. boolean startswith(string prefix, int toffset) :该string对象从toffset位置算起,是否以prefix开始。
string s = new string("write once, run anywhere!");
string ss = new string("write");
string sss = new string("once");
system.out.println("s.startswith(ss): " + s.startswith(ss) );
system.out.println("s.startswith(sss,6): " + s.startswith(sss,6) );
结果为:
s.startswith(ss): true
s.startswith(sss,6): true
- 25. string substring(int beginindex) :取从beginindex位置开始到结束的子字符串。
26.string substring(int beginindex, int endindex) :取从beginindex位置开始到endindex位置的子字符串。
27. char[] tochararray() :将该string对象转换成char数组。
28. string tolowercase() :将字符串转换成小写。
29. string touppercase() :将字符串转换成大写。
string s = new string("java.lang.class string");
system.out.println("s.touppercase(): " + s.touppercase() );
system.out.println("s.tolowercase(): " + s.tolowercase() );
结果为:
s.touppercase(): java.lang.class string
s.tolowercase(): java.lang.class string
- 30. static string valueof(boolean b)
31. static string valueof(char c)
32. static string valueof(char[] data)
33. static string valueof(char[] data, int offset, int count)
34. static string valueof(double d)
35. static string valueof(float f)
36. static string valueof(int i)
37. static string valueof(long l)
38. static string valueof(object obj)
以上方法用于将各种不同类型转换成java字符型。这些都是类方法。