String的介绍:
String的特性:
- String是一个final类,代表不可变的字符序列。
- 字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。
String 和StringBuffer之间的区别:
String 和StringBuffer之间相互转换:
- 不能直接转换:
String s= “Hello, Frank”;
StringBuffer s1=s; - 也不能强制类型转换::
StringBuffer s1=(StringBuffer)s; - 正确的方法应该是:要借助构造方法和toString 方法来实现
String s= “Hello, Frank”;
StringBuffer s1= new StringBuffer(s);
String = s1.toString();
一切尽在代码中:
//String 字符串类
//初始化对象并获取长度
class StringSubTest {
public void main() {
String s = "I Love Learning !";
int len = s.length();//获取长度
System.out.println("字符串的长度为:" + len);
}
public void Co() {
String s1 = "This is Frank,";
String s2 = "I love Java!";
System.out.println(s2.concat(s1));
System.out.println(s1 + s2);
}
public void Me() {
//替换
String s = "123454321";
String rs = s.replace('3', '1');
System.out.println("替换后的串为:" + rs);
//查找
System.out.println("第二个和第六个字符为:" + s.charAt(1) + "和" + s.charAt(5));//数组的下标是从0开始的
}
//对字符串进行拆分
public void Al() {
String s = "abcdef";
String a1[] = s.split("c");
String a2[] = s.split("a", 1);
System.out.print("第一次拆分:");
for (int i = 0; i < a1.length; i++) {
System.out.print(a1[i] + ",");
}
System.out.println();
System.out.print("第二次拆分:");
for (int i2 = 0; i2 < a2.length; i2++) {
System.out.print(a2[i2] + ",");
}
}
//判断两个字符串是否相等
public void ifEqual(){
String s1 ="I love you!";
String s2 ="I Love You!";
boolean a = s1.equals(s2);//相当于s1-s2,结果为即为a
System.out.println("此处判断两个字符串是否相等:"+a);
}
//StringBuffer多个字符串连接
//调用append()方法,此方法是在调用的对象的末尾追加相应的内容,此方法调用完毕后,原对象的内容也改变了。
public void StringBfferCon(){//使用append方法虽然跟没有String 那么方便,但是这样会节省内存,提高程序效率
StringBuffer s1 = new StringBuffer("半斤");
s1.append("八两");
StringBuffer s2= new StringBuffer("Hello,");
s2.append("Frank");
System.out.println(s1);
System.out.println(s2);
}
//StringBuffer中字符串的插入
public void StringBufferIns(){
StringBuffer s1 =new StringBuffer("I Love Frank!");
s1.insert(0,"This is your future Wife,");
System.out.println(s1);
}
//StringBuffer中字符串的删除
public void DeleStr(){
StringBuffer s1 = new StringBuffer("I Love Frank666!");
s1.deleteCharAt(13);//删除指定的字符
System.out.println("删除指定的字符:"+s1);
s1.delete(13,16);//删除指定区间的字符
System.out.println("删除指定区间的字符;"+s1);
}
//字符串的替换
void RepStr(){
StringBuffer s1 = new StringBuffer("I Love May!");
s1.setCharAt(8,'F');
System.out.println(s1);
}
void ReserveStr(){
StringBuffer s1 = new StringBuffer("knarf evol I");
s1.reverse();
System.out.println(s1);
}
}
public class Test {
public static void main(String[] args){
StringSubTest n=new StringSubTest();
n.main();
n.Co();
n.Me();
n.Al();
n.ifEqual();
n.StringBfferCon();
n.StringBufferIns();
n.DeleStr();
n.RepStr();
n.ReserveStr();
}
}