亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java foreach循環(huán)是否可以修改數據的值問題解決方法

 更新時間:2024年02月07日 10:46:47   作者:BugMaker2002  
最近在做項目的時候,需要修改一個數組里面各個元素的值,foreach循環(huán)迭代數組元素時,不能改變數組元素的值,這篇文章給大家介紹Java foreach循環(huán)是否可以修改數據的值的問題及解決方法,感興趣的朋友一起看看吧

一、問題引出

        最近在做項目的時候,需要修改一個數組里面各個元素的值,是這樣的:在如圖所示的程序

 當中,我本想是修改數組array當中各字符串的值(將其變成大寫),采取的是foreach循環(huán),然而我運行之后發(fā)現很奇怪:數組的內容并未發(fā)生改變 ,然后我采取了for循環(huán)再次嘗試對數組元素進

 行修改:這次可以了!

 二、問題解決

        于是我上網查閱了相關的資料,看到一篇大佬發(fā)出的文章,我頓時茅塞頓開:

foreach循環(huán)迭代數組元素時,不能改變數組元素的值,因此,不要對foreach的循環(huán)變量進行賦值:基本類型數組,不可改變;但引用類型數組(除String類型),可以改變。

我頓時醒悟了!下面詳細介紹:

1.基本類型數組

        foreach不可以改變變量,即使用集合存變量也不可以(foreach循環(huán)中,是把容器中的數據交給了那個element,當容器中裝的是變量時,foreach是改變不了元數據的,想改變只能通過for循環(huán))。如圖可以看到,并沒有什么用,無法改變:

2.引用類型數組

        ①String類型

        正如開篇所說,String類型是一個特例,無法被修改,只能通過for循環(huán)進行修改。

        ②其它引用類型

        foreach可以改變對象的值,對象和變量不一樣,變量是獨立的,但是如果把一個對象傳給了另一個對象,他們就是一個對象,引用的地址是一樣的,所以改變其中一個就改變了另一個。如圖所示:可以看到foreach可以修改對象的類型。

        但foreach不能刪除或添加對象(foreach循環(huán)中,是把容器中的數據交給了那個element,當容器中裝的是對象時,對象的賦值(賦的是引用,即給的是原對象所在的地址)。為什么不能刪除或者添加變量,因為每次進入foreach時,就會調用java.util.LinkedList.next()方法,該方法會對集合的長度進行判斷,所以會出現異常,如圖所示:

到此這篇關于Java foreach循環(huán)是否可以修改數據的值的文章就介紹到這了,更多相關Java foreach循環(huán)是否修改數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解使用Spring MVC統(tǒng)一異常處理實戰(zhàn)

    詳解使用Spring MVC統(tǒng)一異常處理實戰(zhàn)

    本篇文章主要介紹了詳解使用Spring MVC統(tǒng)一異常處理實戰(zhàn),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • SpringBoot中使用MyBatis-Plus實現分頁接口的詳細教程

    SpringBoot中使用MyBatis-Plus實現分頁接口的詳細教程

    MyBatis-Plus是一個MyBatis的增強工具,在MyBatis的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,在SpringBoot項目中使用MyBatis-Plus可以大大簡化分頁邏輯的編寫,本文將介紹如何在 SpringBoot項目中使用MyBatis-Plus實現分頁接口
    2024-03-03
  • 使用mvn?deploy命令上傳jar包的實現

    使用mvn?deploy命令上傳jar包的實現

    本文介紹了使用mvndeploy:deploy-file命令將本地倉庫中的JAR包重新發(fā)布到Maven私服,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • 深入了解java8的foreach循環(huán)

    深入了解java8的foreach循環(huán)

    雖然java8出來很久了,但是之前用的一直也不多,最近正好學習了java8。下面給大家分享java8中的foreach循環(huán),感興趣的朋友一起看看吧
    2017-05-05
  • java讀取resources文件詳解及實現代碼

    java讀取resources文件詳解及實現代碼

    這篇文章主要介紹了java讀取resources文件詳解及實現代碼的相關資料,在開發(fā)項目的時候經常會遇到讀取文件夾里面的內容,需要的朋友可以參考下
    2017-07-07
  • java.util.ArrayDeque類使用方法詳解

    java.util.ArrayDeque類使用方法詳解

    這篇文章主要介紹了java.util.ArrayDeque類使用方法,java.util.ArrayDeque類提供了可調整大小的陣列,并實現了Deque接口,感興趣的小伙伴們可以參考一下
    2016-03-03
  • java使用JSONObject實例

    java使用JSONObject實例

    JAVA中JSONObject對象的使用方法
    2013-11-11
  • Spring 應用上下文獲取 Bean 的常用姿勢實例總結

    Spring 應用上下文獲取 Bean 的常用姿勢實例總結

    這篇文章主要介紹了Spring 應用上下文獲取 Bean,結合實例形式總結分析了Spring 應用上下文獲取 Bean的實現方法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • JAVA求兩直線交點和三角形內外心的方法

    JAVA求兩直線交點和三角形內外心的方法

    本文提供了JAVA求兩直線交點、三角形外心、三角形內心的代碼和算法講解,大家可以參考使用
    2013-11-11
  • Java實現RSA加密工具類

    Java實現RSA加密工具類

    這篇文章主要介紹了Java如何實現RSA加密工具類,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09

最新評論