for和foreach区别?
一、for和foreach区别

1.for循环可以使用break跳出循环,但forEach不能。
2.for循环可以控制循环起点(i初始化的数字决定循环的起点),forEach只能默认从索引0开始。
3.for循环过程中支持修改索引(修改 i),但forEach做不到(底层控制index自增,我们无法左右它)。
foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高。 另外foreach不支持在循环中添加删除操作,因为在使用foreach循环的时候数组(集合)就已经被锁定不能被修改,否则会报出java.util.ConcurrentModificationException异常。
foreach适用于只是进行集合或数组遍历,for则在较复杂的循环中效率更高。
foreach不能对数组或集合进行修改(添加删除操作),如果想要修改就要用for循环。
所以相比较下来for循环更为灵活。
延伸阅读:
二、java的反射机制
反射机制的概念:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
那么我们再来说下反射机制实现需要用到的类,总共有四大类:Class,Constructor,Method,Field。
其实实现反射需要如下几个步骤:
1.获取Class类
2.通过Class创建对象
3.获取类中的方法
4.获取类中的属性,属性值或类型
forwhile循环的区别
以上就是关于for和foreach区别的内容希望对大家有帮助。
猜你喜欢LIKE
相关推荐HOT
更多>>
在Scala中用def重写和val重写父类有什么区别?
一、在Scala中用def重写和val重写父类的区别在Scala中,子类可以用def或val重写父类的方法。这两种方式有以下区别:def关键字定义的方法可以被...详情>>
2023-10-11 22:26:27
java中continue和break区别?
一、java中continue和break区别break的定义在Java中,break具有三个用途。名列前茅个它用于终止switch语句中的case,第二个用于终止包含break的...详情>>
2023-10-11 16:58:22
java web 与jsp的区别?
一、java web 与jsp的区别1、jsp服务于java web开发,javaweb是使用java语言进行web系统开发。web系统开发现在主流的是MVC的三层架构,而jsp就...详情>>
2023-10-11 14:49:53
进程和线程的区别是什么?
一、进程和线程的区别1、概念不同进程:一个程序对一个数据集的动态执行过程,是分配资源的基本单位。线程:一个进程内的基本调度单位。线程的...详情>>
2023-10-11 13:52:13热门推荐
Python的int取整和//整除有什么区别?
沸在Scala中用def重写和val重写父类有什么区别?
热for和foreach区别?
热form表单和ajax的区别?
新error和exception区别?
循环程序结构和分支程序结构结构有哪些区别?
MPG后缀和MP4后缀有哪些区别?
SQL Server中,ANY与ALL有什么区别?
DataExchange和RTB Exchange 有哪些区别?
jquery和javascript的区别?
Java开发工程师和后端开发工程师有哪些区别?
Java 中字节流与字符流的区别?
java中continue和break区别?
error 和 exception的区别?
技术干货
京公网安备 11010802030320号