> 技术文档 > JAVA-09(2025.07.25学习记录)

JAVA-09(2025.07.25学习记录)


API基础

String类常用构造器

package com.mm;public class test { public static void main(String[] args) { String s1 = \"abc\"; System.out.println(s1.toString());//默认调用toString方法,把对象转成字符串,省略不写 String s3 = new String(\"abc\");//根据传入字符串内容来创建字符串对象 System.out.println(s3); String s4 = new String(new char[]{\'a\', \'b\', \'c\'});//根据字符数组的内容来创建字符串对象 System.out.println(s4); String s2 = new String();//创建一个空白字符串对象,不含有任何内容 System.out.println(s2); }}

String常用方法

package com.mm;import java.util.Arrays;public class test { public static void main(String[] args) { String s1 = \"abc\"; System.out.println(s1.length());//3 返回字符串长度 //isEmpty() String s2 = \"\"; System.out.println(s2.isEmpty());//只有length()为0时返回true //cgarAt(int index) System.out.println(s1.charAt(0));//a //equals() System.out.println(s2.equals(s1));//False /** * compareTo() * \"abc\"-\"abc\" 0 * \"abc\"-\"abj\" -7 在不一样的位置进行ASCII码的差值输出 * \"abc\"-\"abcdfefdf\" 6 返回的是字符串的长度的差值 * \"abc\"-\"abdeffh\" -1 在不一样的位置进行ASCII码的差值输出 */ String s3 = \"abd\"; String s4 = \"abdffh\"; System.out.println(s3.compareTo(s4)); //substring String s5 = \"hello1111\"; System.out.println(s5.substring(5)); System.out.println(s5.substring(0, 5));//截取区间[0,5) //concat String s6 = \"def\"; System.out.println(s6.concat(\"abc\")); //replace System.out.println(s6.replace(\'d\', \'k\')); //split String s7 = \"a-b-c\"; String[] strArr = s7.split(\"-\"); System.out.println(Arrays.toString(strArr)); //tuUpperCase System.out.println(s3.toUpperCase()); //trim String s8 = \" a b c \"; System.out.println(s8.trim()); //toString 把对象转成字符串,可省略不写 //valueOf System.out.println(String.valueOf(12));//因为该方法是static修饰的,可以直接用String.valueOf调用 }}

String类内存分析

//这里比较的是字符串地址是否一致//内存地址相同,结果为TrueString s1 = \"abc\";String s2 = \"ab\" + \"c\";System.out.println(s1 == s2);//内存地址不同,结果为FalseString s1 = \"abc\";String s2 = new String(\"abc\");System.out.println(s1 == s2);
第一种内存

第二种内存

不同地址下字符串不可改变

ArravList类(集合容器的一种)

package com.mm;import java.util.ArrayList;public class test { public static void main(String[] args) { //常用构造器public ArrayList() //创建ArrayList的具体对象 ArrayList list = new ArrayList(); //增加指定元素 list.add(\"java\");//默认下标为0 list.add(\"java2\");//默认下标为1 //在下标为0处添加元素 list.add(0, \"go\"); System.out.println(list); //删除下标为0处的元素 list.remove(0); System.out.println(list); //删除指定元素 list.remove(\"java\"); System.out.println(list); //修改指定下标元素为指定元素 list.set(0, \"java\"); System.out.println(list); //查看指定下标元素 System.out.println(list.get(0)); //查询集合当前有几个元素 System.out.println(list.size());//1 }}

泛型(数据类型限制)

package com.mm;import java.util.ArrayList;public class test { public static void main(String[] args) { //加入泛型,后一个String可以不写 ArrayList list = new ArrayList(); list.add(\"java\"); list.add(\"html\"); list.add(\"css\"); }}

ArrayList集合的遍历操作

package com.mm;import java.util.ArrayList;public class test { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(\"java\"); list.add(\"html\"); list.add(\"css\"); //普通for循环遍历 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //增强for循环遍历 for (String s : list) {//数据是String类型 System.out.println(s); } }}

ArrayList集合存放自定义类型数据

package com.mm;import java.util.ArrayList;public class test { public static void main(String[] args) { ArrayList list = new ArrayList();//创建存放自定义类数据集合 Person p = new Person(\"莉莉\", \"女\", 18);//创建对象 list.add(p); list.add(new Person(\"咯咯\", \"女\", 18));//创建匿名对象 for (Person person : list) {//这里遍历对象不能和实际对象名一样 //因为设置了权限修饰符,必须用get方法,否则打印的是地址 System.out.println(person.getName() + person.getSex() + person.getAge()); } }}