String类型)
1.转换功能:
byte[] getBytes() :将字符串转换成字节数组
public class StringDemo2 {
public static void main(String[] args) {
//定义一个字符串:
String str = "JavaSE" ;
byte[] bys = str.getBytes() ;
for(int x = 0 ; x <bys.length ; x ++) {
System.out.print(bys[x]+" ");
}
}
**public char[] toCharArray():将字符串转换为字符数组**
public class StringDemo2 {
public static void main(String[] args) {
String str = "JavaSE" ;
char[] chs = str.toCharArray() ;
for(int x =0 ; x < chs.length; x ++) {
System.out.print(chs[x] +" ");
}
}
}
**valueOf(XXX 变量名) ;可以将任意类型转换为String类型**
public class StringDemo2 {
public static void main(String[] args) {
String str = "JavaSE" ;
char[] chs = str.toCharArray() ;
for(int x =0 ; x < chs.length; x ++) {
System.out.print(chs[x] +" ");
String newStr = String.valueOf(chs) ;
System.out.println(newStr);
}
}
**public String toLowerCase() :将字符串转换小写**
public class StringDemo2 {
public static void main(String[] args) {
String str = "JavaSE" ;
System.out.println("toLowerCase():"+str.toLowerCase());
}
}
**public String toUpperCase():将字符串转换成大写**
public class StringDemo2 {
public static void main(String[] args) {
String str = "JavaSE" ;
System.out.println("toUpperCase():"+str.toUpperCase());
}
}
2.替换功能
**String replace(char oldchar,char newchar):将指定的字符替换以前的字符**
public class StringDemo3 {
public static void main(String[] args) {
//定义一个字符串:
String s = "helloworld" ;
System.out.println("replace:"+s.replace('l', 'k'));
}
}
**String replace(String oldString, String newString):将以前的字符串替换成新的字符串**
public class StringDemo3 {
public static void main(String[] args) {
String s = "helloworld" ;
System.out.println("replace:"+s.replace("owo", "jdk"));
}
}
3.去除两端空格
**public String trim()**
public class StringDemo3 {
public static void main(String[] args) {
String s2 = " hello world " ;
System.out.println("s2:"+s2);
String s3 = s2.trim() ;
System.out.println("s3:"+s3);
}
}
StringBuffer:线程安全的可变字符序列
1.StringBuffer和String的区别
前者是线程安全的类,可变的字符序列,内存中提供字符串缓冲区;后者是不可变的字符序列
从内存角度来说,前者优于后者,String类型是在方法区中开辟空间,所以比较占内存
StringBuffer里面存在初始容量,所以他里面可以不断的追加字符串
2.StringBuffer的构造方法
public StringBuffer():构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
public class StringBufferDemo {
public static void main(String[] args) {
//创建一个字符串缓冲区
//无参构造
StringBuffer sb = new StringBuffer() ;
System.out.println(sb);
System.out.println("length():"+sb.length());
System.out.println("capacity():"+sb.capacity());
}
}
**public StringBuffer(int capacity):指定容量大小**
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer sb2 = new StringBuffer(50);
System.out.println("length():"+sb2.length());
System.out.println("capacity():"+sb2.capacity());
}
}
**public StringBuffer(String str):构造一个字符串缓冲区:里面的容量(字符串内容英文)大小:字符串长度+16初始容量**
**public int capacity():初始容量
leng():返回的是字符串长度**
3.StringBuffer的添加功能
**StringBuffer append(xxx x):将指定的内容追加到字符串缓冲区中(注意是在末尾追加),追加完成以后,返回的是StringBuffer本身**
public class StringBufferDemo2 {
public static void main(String[] args) {
//创建一个字符串缓冲区
StringBuffer sb = new StringBuffer() ;
System.out.println(sb);
sb.append("hello").append(true).append('a').append(100).append(12.34) ;
System.out.println("sb:"+sb);
}
}
**StringBuffer insert(int index,xxx x):在指定位置插入一个新的内容,并且返回的也是StringBuffer本身**
public class StringBufferDemo2 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer() ;
System.out.println(sb);
sb.append("hello").append(true).append('a').append(100).append(12.34) ;
System.out.println("sb:"+sb);
sb.insert(5, "world") ;
System.out.println("sb:"+sb);
}
}
4.每次想要使用StringBuffer中的方法的时候,必须先new一个StringBuffer的对象,然后在调用StringBuffer中的方法。