tring 特点 一旦创建 运行期间不能改变
构造方法:
String str = "ab";//内存里面在 常量池里面
char[] chars = {'a','b'};
String str1 = new String(chars);//只要是new出来的内容 都在堆区 不在常量池里面的
== 引用数据类型 使用 == 比较的是地址值
基本数据类型 比较的是数据值
String想比较内容 应该用什么方法 boolean equals(Object anObejct);
字符串的长度 str.length();
获取字符中的字符 charAt(int index);//根据索引来获取索引位置的字符 String str2 = "helloworld" char c = str2.charAt(4);
String str2 = "helloworld";
for(int i = 0;i<str2.length();i++){
char c= str2.charAt(i);
System.out.println(c);
}
char[] chars ={'a','b'}; System.out.println(chars);
所有的数组里面 只有char数组 打印出来的不是地址值 而是数组里面具体的内容
StringBuilder
字符串缓冲区
主要的区别: 里面的内容是可以发生变化的
构造方法:
StringBuilder sb = new StringBuilder();
StringBuilder sb1 = new StringBuilder("字符串");//把字符串转换成 字符串缓冲区
添加:
sb.append("java");
sb.append("heima");
sb.append("666");
sb.append(666);
sb.append(true);
sb.reverse()
----------------------------------------------------------------------------------------
ArrayList 集合 底层实现 也是Array数组
int[] arr = new int[6];
ArrayList<String> list = new ArrayList<String>();
arr[4] = 10;
arr[4] = 6;
//数组的遍历
for(int i =0;i<arr.length;i++){
System.out.print(arr[i]);
}
//集合的遍历
for(int i =0;i<list.size();i++){
System.out.print(list.get(i));
}
以后如果用到带索引的操作 注意 索引越界异常
ArrayList 和数组:
数组的长度一旦创建 在运行期间是不能发生改变的
集合ArrayList 长度是可以随意改变
ArrayList构造方法:
public ArrayList?():创建一个空的集合对象
ArrayList添加方法:
public boolean add(E e):将指定的元素追加到此集合的末尾
public void add(int index,E element):在此集合中的指定位置插入指定的元素
ArrayList常用方法:
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E remove(int index):删除指定索引处的元素,返回被删除的元素
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
public E get(int index):返回指定索引处的元素
public int size():返回集合中的元素的个数
ArrayList<数据类型> 泛型 只能是引用类型 int 包装类 Integer
构造方法:
ArrayList<String> list = new ArrayList<String>();
成员方法:
list.add("hehe");//添加到集合 的末位 ["heihei","1","haha","2","hehe"]
list.add(2,"haha");
集合越界 IndexOutOfBoundsException
数组越界 ArrayIndexOutOfBoundsException
字符串索引越界 StringIndexOutOfBoundsException
自定义的类 自己创建的类(不是系统提供的)
泛型<数据类型> 对我们存入集合的数据类型进行限制 |
|