foreach是一种用于遍历集合或数组的循环结构,但它不适用于类型为"java.lang.String"的对象。 "java.lang.String"是Java中表示字符串的类,它是不可变的,即一旦创建就不能被修改。由于字符串是一个字符序列,而不是一个集合或数组,因此无法使用foreach循环来遍历它。
publicstaticvoidmain(String[]args){List<Integer>lists=Arrays.asList(1,2,3,4,5,6,7,8,9,10);lists.forEach(x->{if(x<5){//continue; //编译报错//break; //编译报错//return false; //编译报错return;}System.out.print(x+",");});}输出:5,6,7,8,9,10, 通过上述结果,我们可以得出如...
步骤2:使用普通的for循环代替forEach循环 为了解决字符串赋值失败的问题,我们可以使用普通的for循环来替代forEach循环。下面是修改后的代码片段: List<String>names=Arrays.asList("Alice","Bob","Charlie");Personperson=newPerson();for(Stringname:names){person.setName(name);// 字符串赋值成功} 1. 2. 3...
对于基本数据类型,forEach不能修改原数组的值。 .对于引用数据类型:String,forEach也不能修改原数组的值,因为String是不可变的。 对于其他引用类型(不被final修饰),forEach能修改具体的属性,因为forEach是地址引用。 forEach遍历时,是创建的临时变量,引用的数据地址。 对于基本数据类型,int,char,double等,这些值在f...
Java的foreach 获取数组中的每一个元素 public class Foreach { public static void main(String[] args) { // TODO Auto-generated method stub int[] num = {15,4,6,9,7,5}
可以看出,for-Each循环比普通for循环要简洁很多。我们依旧回答上面的两个问题: 1. 编译器是如何处理 集合中的for-Each循环的? publicstaticvoidmain(String args[]){Listlist=newLinkedList(); list.add("aa"); list.add("bb");for(String item:list) ...
(InterruptedException e) { System.out.println("异常:" + Thread.currentThread().isInterrupted()); // 线程中断标志位被重置为false e.printStackTrace(); } } } public static void main(String[] args) throws Exception { _24_ThreadTest threadTest = new _24_ThreadTest()...
由此可以看出,foreach循环在实际执行时,其实使用的是Iterator,使用的核心方法是hasnext()和next()。然...
public static void main(String[] args) { //需求:输出数据1-5 for(int i=1; i<=5...