Java的String类方法介绍

来源:互联网 发布:淘宝能买到呼死你吗 编辑:程序博客网 时间:2024/06/10 18:57

前言

Java的String类是我们经常使用的包装类,我们用到它的场景多到不胜枚举,所以如果我们对它不了解,或者一知半解的话,就会对我们的日常开发产生极大的阻碍。

String类给我们提供了许许多多的方法,这对我们的开发是很有帮助的,这意味着我们不需要自己去写算法了,极大的节省了我们的时间。但这也不意味着我们就什么都不用做了,要知道这世上没有不劳而获的东西,既然String类节省了我们大把的时间,那我们总不会连了解这些方法的时间都不肯去花吧,要知道一个优秀的程序员,是要去阅读官方文档的,而懂得使用官方提供给我们的方法只是最基础,最入门的第一步而已,如果这都做不到,那我们就只能止步于此了。

要知道“书到用时方恨少”,开发亦是如此,我们总会面临要使用方法却不知道使用哪个方法,或者在阅读别人的代码时不知道对方用的是什么方法,所以对于了解String类,了解它的方法是至关重要的。好了,听了这么多我的唠叨,接下来我们来看看String类都有什么方法。

构造方法

要介绍String类的方法,首当其冲当然是它的构造方法了。String类的构造方法也有许多种,因为它要实现与多种数据类型进行转换。这里我只说几种常用的,因为这个也比较简单。

String(""): 通过字符串构建对象String(byte[ ] bytes):通过byte数组构造字符串对象。String(byte[] bytes,int offset,int length);通过byte数组,从offset开始,总共length长的字节构造字符串对象String(char[ ] value):通过char数组构造字符串对象。String(byte[] char,int offset,int length);通过char数组,从offset开始,总共length长的字节构造字符串对象String(Sting 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 str1 = new String("java");String str2 = new String(b);String str3 = new String(c);String str4 = new String(b, 3, 4);//defgString str5 = new String(c, 3, 4);//3456String str6 = new String(str1);//javaSystem.out.println(str1);System.out.println(str2);System.out.println(str3);System.out.println(str4);System.out.println(str5);System.out.println(str6);

方法

说明:①、所有方法均为public。
②、书写格式: [修饰符] <返回类型><方法名([参数列表])>
例如:

public static String copyValueOf(char[] data);  //表示这个方法为类方法,返回类型为String,方法参数为char数组。

方法按方法名排序:

1.public char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。

String str = "abcdefghijklmn";System.out.println(str.charAt(5)); //f

2.public int compareTo(String anotherString) :当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,长字符串的前面部分恰巧是短的字符串,返回它们的长度差。

String str1 = "abc";String str2 = "abb";String str3 = "abcdef";System.out.println(str1.compareTo(str2)); //-1System.out.println(str1.compareTo(str3)); //-3

3.public int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。

4.public String concat(String str) :将该String对象与str连接在一起。

String str = "abc";System.out.println(str.concat("abc")); //abcabc

5.public boolean contentEquals(StringBuffer sb) :将该String对象与StringBuffer对象sb进行比较。

String str1 = "abc";StringBuffer sBuffer = new StringBuffer("abc");System.out.println(str1.contentEquals(sBuffer));//true

6.public boolean endsWith(String suffix) :该String对象是否以suffix结尾。

String str = "abcdef";System.out.println(str.endsWith("def")); //true

7.public boolean equals(Object anObject) :当anObject不为空并且与当前String对象一样,返回true;否则,返回false。
8.public public boolean equalsIgnoreCase(String another):比较字符串与another是否一样(忽略大小写);

String str1 = "java";String str2 = "java";String str3 = "JAVA";System.out.println(str1.equals(str2)); //trueSystem.out.println(str1.equalsIgnoreCase(str3)); //true

9.public byte[] getBytes() :将该String对象转换成byte数组。
10.public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin为拷贝的起始位置、srcEnd为拷贝的结束位置、字符串数值dst为目标字符数组、dstBegin为目标字符数组的拷贝起始位置。

char[] c = {'0','1','2','3','4','5','6','7','8','9'};String str = "javasring";str2.getChars(2, 4, c, 2);System.out.println(c); //01va456789

11.public int hashCode() :返回当前字符的哈希表码。
12.public int indexOf(int ch) :只找第一个匹配字符位置。

String str = "javastring";int a = str.indexOf('s'); //4System.out.println(str.charAt(a)); //a

13.public int indexOf(int ch, int fromIndex) :从fromIndex开始找第一个匹配字符位置。
14.public int indexOf(String str) :只找第一个匹配字符串位置。

String str1 = "javastring";String str2 = "str";int a = str1.indexOf(str2);System.out.println(a); //4

15.public int indexOf(String str, int fromIndex) :从fromIndex开始找第一个匹配字符串位置。

16.public int lastIndexOf(int ch):只找最后一个匹配字符位置。
17.public int lastIndexOf(int ch, int fromIndex):从fromIndex开始找最后一个匹配字符位置。
18.public int lastIndexOf(String str):只找最后一个匹配字符串位置。
19.public int lastIndexOf(String str, int fromIndex):从fromIndex开始找最后一个匹配字符串位置。
20.public int length() :返回当前字符串长度。

String str = "java string";System.out.println(str.length()); //11

21.public String replace(char oldChar, char newChar) :将字符号串中第一个oldChar替换成newChar。

String str = "java string";str = str.replace('j', 'J');str = str.replace('s', 'S');System.out.println(str); //Java String

22.public String[] split(String regex):将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。

String str = "java string";String[] strs = str.split("a");for (int i = 0; i < strs.length; i++) {    System.out.print(strs[i] + ",");} //j,v, string,

23.public boolean startsWith(String prefix) :该String对象是否以prefix开始。

24.public boolean startsWith(String prefix, int toffset) :该String对象从toffset位置算起,是否以prefix开始。

String str1 = "java string";String str2 = "string";System.out.println(str1.startsWith("jav")); //trueSystem.out.println(str1.startsWith(str2, 5)); //true

25.public String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。

String str = "java string";str = str.substring(3);System.out.println(str); //a string

26.public String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。

String str = "java string";System.out.println(str.substring(3, 8)); //a str

27.public char[ ] toCharArray() :将该String对象转换成char数组。
28.public String toLowerCase() :将字符串转换成小写。
29.public String toUpperCase() :将字符串转换成大写。

String str = "java string";str = str.toUpperCase();System.out.println(str); //JAVA STRINGstr = str.toLowerCase();System.out.println(str); //java string

30.public String trim():返回该字符串去掉开头和结尾空格后的字符串

String str = " java string  ";System.out.println(str.trim()); //java string

类方法

1.public static String copyValueOf(char[] data) :将char数组转换成String

char[] c = {'0','1','2','3','4','5','6','7','8','9'};System.out.println(String.copyValueOf(c)); //0123456789

2.public static String copyValueOf(char[] data, int offset, int count) :将char数组转换成String,与其中一个构造函数类似。

char[] c = {'0','1','2','3','4','5','6','7','8','9'};System.out.println(String.copyValueOf(c, 3, 4)); //3456

3.public static String valueOf(boolean b)
4.public static String valueOf(char c)
5.public static String valueOf(char[] data)
6.public static String valueOf(char[] data, int offset, int count)
7.public static String valueOf(double d)
8.public static String valueOf(float f)
9.public static String valueOf(int i)
10.public static String valueOf(long l)
11.public static String valueOf(Object obj)

以上都是将各种的数据类型转换为String类型,都是类方法。

以上就是大部分的String类的方法介绍,虽然有许多,但很多都只用了解,常用的并不是太多。

结束语:本文仅用来学习记录,参考查阅。

3 0