package _02_复杂对象练习; public class StudentTest1 { public static void main(String[] args) { //1 创建出来一个学生数组 Student[] students = new Student[3]; students[0] = new Student(1L,"zhangsan",18); students[1] = new Student(2L,"lisi",18); students[2] = new Student(3L,"wangwu",18); // 根据id 查询是否存在 boolean flag = contains(1L, students); if(flag){ System.out.println("删除id存在能够正常删除"); // 把删除元素锁在位置的值修改成Null removeElementById(1L,students); // 打印数组当中元素 printArr(students); }else{ System.out.println("删除id 在数组当中不存在"); } } /** * 打印数组 * @param students */ private static void printArr(Student[] students) { for (Student student : students) { if(student!=null){ System.out.println(student); } } } /** * 把id 锁在位置的值设置成null */ private static void removeElementById(long id, Student[] students) { for (int i = 0; i < students.length; i++) { Student student = students[i]; // 注意我们拿传递id 和 student 当中id 进行比较 if(id == student.getId()){ students[i] = null; } } } private static boolean contains(Long id, Student[] students) { /** * NullPointerException : 空指针异常 * 原因: 使用null 去调用了属性或者是方法 */ for (Student student : students) { // 判断当前student 不为哦那个做id 比较, 因为数组当中如果没存满,可能为空null if(student!=null){ if(student.getId() == id){ return true; } } } return false; } }