A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Arrays;

public class test1 {
    public static void main(String[] args) {
        Student[] stus = new Student[3];
        stus[0] = new Student("张三", 23);
        stus[1] = new Student("李四", 24);
        stus[2] = new Student("王五", 25);
        delete(stus);
        System.out.println(Arrays.toString(stus));
}

        private static void delete(Student[] stus) {
               
                // 1,增强for循环
                for (Student student : stus) {
                        if ("王五".equals(student.name)) {
                                student = null;
                                break;
                        }
                }
                //,2,普通for循环
                for (int i = 0; i < stus.length; i ++){
                        if ("王五".equals(stus[i].name)) {
                                stus[i] = null;
                                break;
                        }
                }
               
        }
}

class Student {
        public String name;
        public int age;

        public Student(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public String toString() {
                return name;
        }

        public int getAge() {
                return age;
        }

}

5 个回复

倒序浏览
1中,不会改变stus中的值,而2中,却会改变。,只是为了遍历而遍历。。。。。
回复 使用道具 举报
1不会改变数组的值,增强for只是用来遍历,不涉及到索引,所以不会改变原数组。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
第一不变,第二为null
回复 使用道具 举报
学习 学习
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马