=========================================================================
前提:学习字符串String类的成员方法(字符串本身去进行操作的相关方法都有哪些功能) 可以在哪些应用场景提高开发效率!
★注意:字符串的成员方法(String类的成员方法) => 要由类对象进行调用,类对象就是String类的对象也就是字符串!
=========================================================================
★(1)字符串的对比方法 应用场景:当对比两个字符串对象的内容是否相同的时候进行使用 例:登录
▲ public boolean equals(Object anObject) : 使用调用者(String对象)的内容与参数对象的【内容】进行对比,相同返回true/不同返回false 【严格对比】
示例:inputUsername.equals(username)
▲ public boolean equalsIgnoreCase(String str) : 使用调用者(String对象)的内容与参数对象的【内容】进行忽略大小写对比,相同返回true/不同返回false 【宽松对比】
=========================================================================
(2)字符串的遍历方式 应用场景:当要获取字符串的每一个字符 【统计】
▲ int length() : 返回调用者字符串的长度
示例:int length = info.length();
▲ char charAt(int index) : 返回调用者字符串在指定索引处的字符
示例:char index0 = info.charAt(0);
总结:通用的遍历方式 i < 字符串的长度,是因为字符串中的字符索引从0开始,i最大的取值就是字符串的长度-1,条件:i < 字符串的长度;
for (int i = 0; i < 字符串对象.length(); i++) {
char ch = 字符串对象.charAt(i);
}
▲ char[] toCharArray() : 将调用者字符串中的每一个组成字符按照顺序放到一个字符数组中返回
示例:char[] chars = info.toCharArray(); => 总结:遍历返回的字符数组其实就是变相的在遍历字符串(最终获取到的就是每一个字符)
=========================================================================
★(3)字符串的截取方式 应用场景:当要对一个字符串的部门内容进行获取的时候 【截取手机号的前三位/后四位】【截取文件的后缀名】
String phone = "13876864375";
▲ String subString(int beginIndex,int endIndex) : 从开始索引处beginIndex截取,截取到结束索引endIndex之前,将截取到的内容作为返回值返回【包头不包尾】
示例:String prefixNumber = phone.substring(0, 3); => 138
▲ String subString(int beginIndex) : 从开始索引处beginIndex开始截取,截取到字符串结束,将截取到的内容作为返回值返回
示例:String suffixNumber = phone.substring(7); => 4375
=========================================================================
★(4)字符串的替换方式 应用场景:对字符串中的敏感信息进行替换(政治/犯罪/脏话) 实际开发:对接第三方的API(内容审核)
▲ String replace(String target,String replacement):将调用者中所有满足参数一的子字符串替换为参数二字符串,【并且替换后的结果返回】。
示例:String replaceResult = message.replace("TMD", "***");
这个方法不会对调用者本身的内容产生修改!一定要记住接收返回值!
=========================================================================
(5)字符串的切割方式
▲ String[] split(String regex) : 按照指定的参数作为切割标志,对调用者内容进行切割,将切割后的部分放到一个String[]中返回。
String studentInfo = "张二狗-男-北京市昌平区-JavaEE";
示例:String[] studentInfoArray = studentInfo.split("-"); => {"张二狗","男","北京市昌平区","JavaEE"}
就业班还会学习正则表达式的完整写法进行切割。 "-":正则表达式
=========================================================================
★(6)字符串的判断方式(基于获取)
▲ boolean contains(String s) : 判断调用者字符串的内容中是否包含指定的参数子串【子串的长度不限】 包含true/false
示例:boolean result1 = fileName.contains("jpg");
▲ boolean startsWith(String prefix) : 判断调用者字符串的内容是否以指定的参数开头 是:true/不是:false
示例:boolean result3 = fileName.startsWith("hello");
▲ boolean endsWith(String prefix) : 判断调用者字符串的内容是否以指定的参数结尾 是:true/不是:false
=========================================================================
(7)字符串的去空/变大写/变小写方式 应用场景:登录的时候进行使用 【用户名是不包含空格的】
▲ String trim() : 将字符串前后的无效空格删除,将有效内容作为返回值返回【中间的空格不会删除】
示例:String result = inputUsername.trim();
▲ String toUpperCase() : 将调用字符串中的所有的字母变成大写
示例:String upperCaseResult = result.toUpperCase(); => ADMIN
▲ String toLowerCase() : 将调用字符串中的所有的字母变成小写
示例:String lowerCaseResult = upperCaseResult.toLowerCase(); => admin
=========================================================================
ArrayList类的使用方式 - 创建对象
ArrayList<可以操作的元素类型(类名)> 集合名称 = new ArrayList<>();
=========================================================================
ArrayList的使用方式 - 增删改查方法
★ boolean add(E e) : 添加一个元素到集合的末尾,返回值boolean【是否添加成功】恒为true
strList.add("张二狗");
strList.add("李狗蛋");
★ E remove(int index) : 删除指定索引对应的元素,并且将被删除的元素作为返回值
String removeElement = strList.remove(2);
System.out.println("被删除索引2的元素是:" + removeElement);
★ E get(int index) : 获取指定索引的元素 类似于 数组名[索引];
String index1 = strList.get(1);
System.out.println("1索引的元素是:" + index1);
=========================================================================
ArrayList的使用方式 - 遍历方式
使用get与size方法搭配在一起完成集合的遍历了 ==> 找一个值作为索引,每次循环的过程中,基于值作为索引获取元素,获取完元素之后,值++。【值规定的上限】
for (int i = 0; i < 集合名.size(); i++) {
集合中元素的类型 变量名 = 集合名.get(i);
//剩余的内容就是操作每次获取到的变量
}
=========================================================================
ArrayList的使用方式 - 删除多个满足要求元素的解决方案
(1) 正序删除,每次删除后,将索引--与迭代语句的++抵消,保证可以获取到每一个元素。
for (int i = 0; i < strList.size(); i++) {
String element = strList.get(i);
//判断本次获取到的元素和要删除的元素"张二狗"是否内容一致 如果一致就说明i索引对应的元素就是张二狗,即可通过索引删除
if (element.equals("张二狗")) {
strList.remove(i);
//解决方式(1)当真的remove了i索引对应之后,下次再判断应该是i [先写一个i--和迭代语句的i++抵消]
i--;
}
}
(2) 倒序删除,直接删除即可,不需要考虑索引,因为补充过来的元素已经是判断过的元素了。
for (int i = strList.size() - 1; i >= 0; i--) {
String element = strList.get(i);
//判断本次获取到的元素和要删除的元素"张二狗"是否内容一致 如果一致就说明i索引对应的元素就是张二狗,即可通过索引删除
if (element.equals("张二狗")) {
strList.remove(i);
}
}