String
- String是字符串类型,它定义的变量可以指向一个字符串对象。java中所有字符文字"123"都为此类对象
- String常被称为不可变字符串类型,它的对象在创建后不能被更改
equals方法
equals()用来检测两个对象是否相等,即两个对象的内容是否相等。
==:用于比较引用和比较基本数据类型时具有不同的功能,具体如下:
基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。
引用数据类型:比较的是引用的地址是否相同,比如说新建了两个User对象,比较的是两个User的地址是否一样。
package String;
public class Test1 {
public static void main(String[] args) {
String a = "abc123";
String b = "abc123";
String c = "ABC123";
System.out.println(a.equals(b)); //true
System.out.println(a.equals(c)); //false
System.out.println(a.equalsIgnoreCase(c)); //true,忽略大小写,一般用于验证码判断
}
}
其他String常用API
- 获取字符串长度length()
- 获取某个索引位置处的字符charAt()
- 将当前字符串转换成字符数组返回toCharArray()
- 根据开始和结束索引进行截取,得到新的字符串(包前不包后)substring(index start,index end)
- 从传入的索引处截取,截取到末尾,得到新的字符串substring(index)
- 使用新值,将字符串中的旧值替换,得到新的字符串replace(“原内容”,“新内容”)
- 字符串以什么开始startsWith()
- 根据传入的规则切割字符串,得到字符串数组返回split()
package String;
public class Test2 {
public static void main(String[] args) {
String a = "qwertyui";
//获取字符串长度length()
System.out.println(a.length()); //8
//获取某个索引位置处的字符charAt()
System.out.println(a.charAt(4)); //t
//将当前字符串转换成字符数组返回toCharArray()
char[] chars = a.toCharArray();
for (int i = 0; i < chars.length; i++) { //遍历数组
char c = chars[i];
System.out.println(c);
}
//根据开始和结束索引进行截取,得到新的字符串(包前不包后)substring(index start,index end)
System.out.println(a.substring(0,5)); // qwert
//从传入的索引处截取,截取到末尾,得到新的字符串substring(index)
System.out.println(a.substring(5)); //yui
// 使用新值,将字符串中的旧值替换,得到新的字符串replace("原内容","新内容")
System.out.println(a.replace("qwer","asdf")); //asdftyui
//字符串中是否包含某字符串contains()
System.out.println(a.contains("qwer")); //true
System.out.println(a.contains("qwer1")); //false
//字符串以什么开始startsWith()
System.out.println(a.startsWith("qwer")); //true
System.out.println(a.startsWith("qwer1")); //false
//根据传入的规则切割字符串,得到字符串数组返回split()
String b = "q,w,e,r,t";
String[] arr = b.split(","); //注意是字符串数组
for (int i = 0; i < arr.length; i++) {
String m = arr[i];
System.out.println(m); //遍历字符串数组,得到q w e r t
}
}
}
集合ArrayList
集合:代表的是一种容器,类似于数组
集合的特点:大小可变,类型可以不固定,功能更加强大,适合做元素个数不能确定,同时存在怎增删操作的业务场景。
ArrayList 元素可以重复的,元素存在索引。
package ArrayList;
import java.util.ArrayList;
import java.util.List;
public class TestDemo1 {
public static void main(String[] args) {
//创建ArrayList集合对象
ArrayList list = new ArrayList();
//添加元素,一般不会添加失败
list.add("张三");
list.add(110);
list.add("qwerty");
//输出list内容
System.out.println(list); //[张三, 110, qwerty]
//向指定索引位置添加元素
list.add(1,"李四");
System.out.println(list); //[张三, 李四, 110, qwerty]
}
}
泛型
约束集合在编译阶段只能操作某种数据类型
ArrayList<String> :此集合只能操作字符串类型的元素
ArrayList<Integer>:此集合只能操作整数类型的元素。
集合和泛型都不支持基本数据类型,只能支持引用数据类型。
package ArrayList;
import java.util.ArrayList;
public class TestDemo2 {
public static void main(String[] args) {
ArrayList list =new ArrayList(); //可以存储一切类型
list.add("张三");
list.add(1213);
ArrayList<String> list1 = new ArrayList<>(); //只能存储字符串
list1.add("李四");
//list1.add(123); //报错
ArrayList<Integer> list2 = new ArrayList<>(); //只能存储整数
list2.add(199);
list2.add(200);
}
}
ArrayList集合常用方法
- 返回指定索引处的元素get()
- 返回集合中的元素的个数 size()
- 删除指定索引处的元素,返回被删除的元素remove(index)
- 删除指定的元素,返回删除是否成功remove(Object o),只会删除第一次出现的元素
- 修改指定索引处的元素,返回被修改的元素set(index,content)
package ArrayList;
import java.util.ArrayList;
public class TestDemo3 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
//返回指定索引处的元素get()
System.out.println(list.get(0)); //a
System.out.println(list.get(1)); //b
//返回集合中的元素的个数 size()
System.out.println(list.size()); //5
//删除指定索引处的元素,返回被删除的元素remove(index)
System.out.println(list.remove(2)); //c
//删除指定的元素,返回删除是否成功remove(Object o)
System.out.println(list.remove("d")); //true
//修改指定索引处的元素,返回被修改的元素set(index,content)
System.out.println(list.set(0,"aaa")); //a
System.out.println(list); //[aaa, b, e]
}
}