java中String的⽤法详解
在这⾥先分别对String、StringBuffer、StringBuilder进⾏解析,在⽐较三者异同
String
String类:代表字符串。Java程序中所有的字符串字⾯值(如"fda")都能作为此类的实现类实现
从下⾯源码可以看出⼀下⼏点:
String声明为final的,不可被继承
String实现了Serializable接⼝:表⽰字符串是⽀持序列化的实现了Comparable接⼝:表⽰String可以⽐较⼤⼩String在内部定义了final的char型数组(final char[]),⽤于存储字符串数据。
可以得出:String代表⼀个不可变的字符序列。具有不变性。S
public final class String
implements java.io.Serializable,Comparable<String>,CharSequence {
private final char value[];
String的初始化⽅式:常⽤的两种:
//通过字⾯量的⽅式定义
String s1 = "java";
//通过new + 构造器⽅式
String s2 = new String("java2");
String的常⽤⽤法详解
1. int length():返回字符串的长度
String s1 ="HelloWorld";
System.out.println(s1.length());//10
2. char chaeAt():返回索引处(index)的字符
String s1 ="HelloWorld";
System.out.println(s1.charAt(5));//W
3. boolean isEmpty():判断是否是空字符串
String s1 ="HelloWorld";
System.out.println(s1.isEmpty());//false
4. String toLowerCase():使⽤默认语⾔环境,将String中的所有字符转换为⼩写
String s1 ="HelloWorld";
String s2 = s1.toLowerCase();
System.out.println(s2);//helloworld
5. String toUpperCase():使⽤默认语⾔环境,将String中的所有字符转换为⼤写
6. String trim():返回字符串的副本,忽略字符串前和字符串后的空⽩
String s3 = "    he  ll  o  w  or l d      ";
String s4 = s3.trim();
System.out.println("----------" + s4 + "-----------");
//"he  ll  o  w  or l d"
7. boolean equals():⽐较两个字符串的内容是否相同
自学java从哪里开始String s6 = "abc";
String s7 = "cde";
System.out.println(s6.equals(s7));//false
8. String concat():将指定字符串连接到此字符串的结尾。
String s1 = "abc";
System.out.at("def"))//abcdef
9. int compareTo():⽐较两个字符串的⼤⼩
String s6 = "abc";
String s7 = "cde";
int i = s6pareTo(s7);
System.out.println(i);//-2
10. String substring((int beginIndex):返回⼀个新的字符串,它是此字符串的从 beginIndex开始截取到最后的⼀个⼦字符串
String s8 = "你是如此美丽";
String s9 = s8.substring(2);
System.out.println(s9);//如此美丽
11. boolean contains(CharSequence s):当且仅当此字符串包含指定的 char 值序列 时,返回 true
String str1 = "helloworld";
String str2 = "wo";
boolean b4 = ains(str2);//true
12. int indexOf(String str):返回指定⼦字符串在此字符串中第⼀次出现处的索引
String str1 = "helloworld";
System.out.println(str1.indexOf("lo"));//3
//若不存在,返回-1
13. int lastIndexOf(String str):返回指定⼦字符串在此字符串中最右边出现处的索引
String str1 = "helloworld";
System.out.println(str1.lastIndexOf("o"));//6
14. String replace(char oldChar, char newChar):返回⼀个新的字符串,它是 通过⽤ newChar 替换此字符串中出现的所有
oldChar 得到的。
15. boolean matches(String regex):告知此字符串是否匹配给定的正则表达式。
16. String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
String与基本数据类型之间的转换
String转换成基本数据类型、包装类:调⽤包装类的静态⽅法:parseXXX(str)
基本数据类型、包装类转换成String:调⽤String重载的ValueOf(XXX)
String str = "123";
int num = Integer.parseInt(str);//123
double num1 = Double.parseDouble(str);//123.0
String str2 = String.valueOf(num);//"123"
String与char[]之间的转换
String转换成char[]:调⽤String的toCharArray()
char[]转换成String:调⽤String的构造器
String str = "abc123";
char[] charArray = CharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.println(charArray[i]);
}  // a  b  c  1  2  3
char[] arr = new char[]{'h','e','l','l','o'};
String str2 = new String(arr);
System.out.println(str2);//"hello"
String与byte[]之间的转换
String转换成byte[]:调⽤String的getBytes()
byte[]转换成String:调⽤String的构造器
String str1 = "abc123";
byte[] bytes = Bytes();
System.out.String(bytes));//[97, 98, 99, 49, 50, 51] String str2 = new String(bytes);
System.out.println(str2);//abc123

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。