常用API(String和ArrayList)
import和package
什么是包?
是来分门别类的管理程序的
怎么建包:package 包名 idea中在建类的时候会自动生成
怎么导包:import
如果使用两个包下的相同的类名,就需要用包名.类
String
public static void main(String[] args) {
// 新建字符串
// String s1 = "123";
// String s2 = new String();
// String s3 = new String("123");
// char[] ch = {'A','b','v'};
// String s4 = new String(ch);
// byte[] b = {97,98,99,65,66,67};
// String s5 = new String(b);
// 显示字符串长度length()
// String s1 = "123aeadasx";
// System.out.println(s1.length());
// 获取字符串指定位置的字符charAt()
// String str = "1241asda";
// char ch = str.charAt(5);
// System.out.println(ch);
// 把字符串转成字符数组 toCharArray()
// String str = "123aead";
// char[] ch = str.toCharArray();
// System.out.println(Arrays.toString(ch));
// 判断当前字符串是否与其他字符串内容一致equals
// String str = "123qwe";
// String str2 = new String("123qwe");
// System.out.println(str.equals(str2));
// System.out.println(str == str2); //这个比较的是地址
// 判断当前字符串是否与其他字符串内容一致(忽略大小写)equalsIgnoreCase
// String str1 = "ABCDabcd";
// String str2 = "abcdAbcd";
// System.out.println(str1.equals(str2));
// System.out.println(str1.equalsIgnoreCase(str2));
// 截取字符串的一部分 substring
// String str = "123qeasd";
// System.out.println(str.substring(2,6));
// System.out.println(str.substring(6));
// 使用新值替换字符串中的部分字符 replace
// String str = "123aseqweasd";
// String newStr = str.replace("123","456").replace("d","DD");
// System.out.println(newStr);
// 判断字符串中是否包含 contains
// String str = "xkxxxxyyds";
// System.out.println(str.contains("xk"));
// System.out.println(str.contains("xxk"));
// 判断字符串是否以某个字符串为开头 startsWith
// String str = "xxkkxxkyyds";
// System.out.println(str.startsWith("xx"));
// System.out.println(str.startsWith("xk"));
// 判断字符串是否是以某个字符串结尾 endsWith
// String str = "xxkkxxkyyds";
// System.out.println(str.startsWith("yyds"));
// System.out.println(str.startsWith("xk"));
// 把字符串按照某个字符串内容分割并返回字符串数组 split
// String str = "xk,x;xk,x;xxk,x;kk,xkkk";
// String[] arr = str.split(",");
// String[] arr2 = str.split("[,;]");
// System.out.println(Arrays.toString(arr));
// System.out.println(Arrays.toString(arr2));
}
String的注意事项
- 通过
String str = "123";此种方式创建的字符串对象会被放到 **字符串常量池(在堆内存里面)**中;与其他通过同种方式("123")创建出来的字符串可以使用==判断相等。 - 通过
String str = new String();此种方式创建的字符串对象会被放到堆内存中;与String str = "123";不相等; - 通过双引号创建出来的变量在经过运算后对象会被放到 堆内存中
- 通过
String str = "123"+"b"+"c";此种方式创建的字符串对象会被放到 **字符串常量池(在堆内存里面)**中;(为了节约内存)
ArrayList
public static void main(String[] args) {
// ArrayList的声明
ArrayList<String> arrayList = new ArrayList<String>();
// 新增到集合末尾
arrayList.add("123");
arrayList.add("xkk");
arrayList.add("yuu");
arrayList.add("zxy");
arrayList.add("zxy");
System.out.println(arrayList);
// 插入到指定索引位置
arrayList.add(2,"gfs");
System.out.println(arrayList);
// 查询(根据目标索引值返回对应字符串)
System.out.println(arrayList.get(1));
System.out.println(arrayList.get(4));
// 修改目标索引的值,并返回当前的值
System.out.println(arrayList.set(2, "nihao"));
System.out.println(arrayList.get(2));
// 查看arrayList中元素的个数
System.out.println(arrayList.size());
// 删除索引位置的值 返回删除的值
System.out.println(arrayList);
System.out.println(arrayList.remove(1));
System.out.println(arrayList);
// 根据字符串删除元素(只会删除第一个找到的元素),返回是否删除成功
System.out.println(arrayList);
System.out.println(arrayList.remove("zxy"));
System.out.println(arrayList);
}
注意:ArrayList也会发生索引越界异常