什么是API?
是Java提供的可以直接调用的程序,可以在API文档中查询
String类
String也被称为不可变字符串类型,他的对象在创建后不可改变,其指向的内容可以改变。
创建字符串对象的两种方法
//直接用双引号得到字符对象
String name="中国";
System.out.println(name);
//创建字符串对象
String s1=new String();
System.out.println("s1");//创建空字符串对象
String s2=new String("中国");
System.out.println("s2");//根据输入字符串内容创建字符对象
char[] c1={"中","国"}
String s1=new String(c1);
System.out.println("c1");
//输出:中国
byte[] b1={1,2}
String s1=new String(b1);
System.out.println("b1");
//输出:12
这两种方式的区别(面试题常考):
以""方式输出的字符串对象储存在常量池中,且相同内容只会储存一份;
通过构造器new对象,每new一次产生一个新对象,放在堆内存中。通过下面代码理解:
String s1="abc";
String s2="abc";
System.out.println("s1==s2");//true
String s1=new String("abc");
String s2=new String("abc");
System.out.println("s1==s2");//false
String常用方法
1.length()方法 获取字符串长度
String str = "abcdef";
System.out.println(str.length());//输出结果:6
2.charAt(int index)方法 传递一个下标参数,返回字符串对应位置的字符
String str = "abc";
System.out.println(str.charAt(1));//输出结果:b
3.indexOf()方法 传递某个字符,返回在字符串中的第一个位置
String str = "abcabc";
System.out.println(str.indexOf('a'));//输出结果:0
4.subString(int start)方法 默认是取到字符串末尾
String str = "abcdef";
System.out.println(str.subString(2));//输出结果:cdef
5.subString(int start,int end)方法 注:范围左闭右开,不包含下标为end的那位
String str = "abcdefgh";
System.out.println(str.subString(2,5));//输出结果:cde
6.equals()方法 判断字符串内容是否相同,区分大小写。
equalsIgnoreCase()和equal()用法相同,只是不区分大小写,只关心内容是否相同
String str1 = "abc";
String str2 = "ABC";
System.out.println(str1.equals(str2));//输出结果:false
String类还有很多API,可以查阅API文档进一步了解。
ArrayList类
ArrayList类代表集合类,其大小以及存入的内容类型并不固定,比数组更好用。
ArrayList list=new ArrayList();
list.add("中");
list.add("国");
System.out.println(list.add("中"))//true
System.out.println(list)//[中,国]
ArrayList<>是一个泛型类,使用时可以指定类型
ArrayList<String> s1=new ArrayList<>()//说明该对象只操作字符类型的数据
ArrayList<Integer> i1=new ArrayList<>()//说明该对象只操作int类型的数据
删除 ArryList中的元素值的两种方法:
//遍历找到要删除的数据之后i的值减1
for(i=0;i<list.length;i++){
int a=list.get(i);
if(a<80){
list.remove(i);
}
i--;
}
//倒着遍历集合删除就ok
for(i=list.length-1;i>=0;i--){
int a=list.get(i);
if(a<80){
list.remove(i);
}
}
小Tips:
- new的对象放在堆内存中。
- 方法在栈内存中。
- 集合中储存的不是对象本身而是对象的地址。