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中还有很多方法,这里就不一一演示了。