String我們之前接觸很多,每當我們在網頁上輸入文字,數字,等等它們都是以字符串的形式返回到服務器,所以字符串類很重要。
api對String類的描述:
String類是一個final類不能繼承。
String類是專門描述字符串這類事物的,只要是雙引號引起來的內容都代表String類的對象。
字符串是常量也是一個對象,一旦書寫完成他就會存放在內存中,內存的常量池中。
public class StringDemo{
public static void main(String[] args) {
String s="abc";
String s2="abc";
s="dfe";
System.out.println(s==s2);
}
}
public class StringDemo{
public static void main(String[] args) {
String s="abc";
String s2=new String("abc");
System.out.println(s==s2);
System.out.println(s.equals(s2));
}
}
上面一小段代碼第一個打印的是false第二個是true,String s="abc";String s2=new String("abc");這兩句話都是在創建對象,但是存儲的空間不一樣一個是在方法池中一個是在棧中,所以所處地址不同。而equals是在比較兩個對象所對應的值。
String類中的構造方法:
String(byte[] bytes):把一個字節數組變成一個字符串對象。
String(byte[] bytes,int offset, int length)把一個字節數組變成從offset到length結束的字符串對象。
String(byte[] bytes,int offset, int count) 把一個字節數組變成從offset到count結束的字符串對象。
public class StringDemo {
public static void main(String[] args) {
byte[] b = { 65, 66, 67, 68, 69 };
String s2 = new String(b);
String s3 = new String(b, 0, 3);
System.out.println(s2);
System.out.println(s3);
}
}
String類中的方法:
charAt:給定字符串角標返回字符串。
public class StringDemo {
public static void main(String[] args) {
byte[] b = { 65, 66, 67, 68, 69 };
String s2 = new String(b);
String s3 = new String(b, 0, 3);
System.out.println(s2);
System.out.println(s3);
}
}
equalsIgnoreCase:比較兩個字符串是否相同,不去分大小寫。
public class StringDemo {
public static void main(String[] args) {
String s = "lishuai";
boolean b=s.equalsIgnoreCase("Lishuai");
System.out.println(b);
}
}
api中還有很多方法,這里就不一一演示了。