String
1. 概念
String是引用数据类型,表示字符串(其实是由多个字符组成的)
2 .String类特点
String是final修饰的,所以是最终类,最终类是不能被继承的,既然不能被继承也就意味着里面的方法不能被重写
3. 字符串常量池
字符串是常量,所有的字符串常量都是存储在常量池中的,每个常量在常量池中都有地址;在常量池中,如果定义的常量在常量池中已经存在,则不会再进行创建,而是直接拿来用,如果不存在就创建一个常量扔进常量池中
/
4.String对象的创建形式
public static void main(String[] args){
String str = new String("haha");
String str2 = new String("haha");
System.out.println(str == str2);
String str3 = "hello";
String str4 = "hello";
System.out.println(str3 == str4);
//面试题:下面的代码创建了几个对象
String str5 = "how"+"are"+"you";//1
String str6 = "howareyou";
System.out.println(str5 == str6);
String str7 = new String("happy");//2
String str8 = "so";
String str9 = "handsome";
String str10 = "sohandsome";
String str11 = str8 + str9;
System.out.println(str10 == str11);
}
5.常见方法的使用
String str = "hello";
//charAt() 获取指定索引对应的char值
System.out.println(str.charAt(0));
//indexOf() 返回指定字符对应的下标
System.out.println(str.indexOf("ll"));
//lastIndexOf() 返回指定字符对应的下标(反向查找)
System.out.println(str.lastIndexOf('l'));
//compareTo() 比较两个字符串的先后顺序(自然排序)
//ASCII码表 a对应数字97 b 98 A65 B66
System.out.println("abc".compareTo("aba"));
//contains() 是否包含指定的字符串
System.out.println("hello world".contains(str));
//endsWith() 以指定字符结尾
System.out.println("www.baidu.com".endsWith(".cn"));
//isEmpty() 判断指定字符串是否为空(是否是空字符串 null代表空对象)
System.out.println(" ".isEmpty());
//split() 根据指定的字符对字符串进行分割
String imgs = "1.jpg,2.jpg,3.jpg"