java 為什么Java中l(wèi)ambda表達(dá)式不能改變外部變量的值,也不能定義自己的同名的本地變量呢?
為什么Java中l(wèi)ambda表達(dá)式不能改變外部變量的值,也不能定義自己的同名的本地變量呢?Lambda表達(dá)式不能改變外部變量的值,即外部變量需要用final修改(java8必須用final顯式修改)。
為什么Java中l(wèi)ambda表達(dá)式不能改變外部變量的值,也不能定義自己的同名的本地變量呢?
Lambda表達(dá)式不能改變外部變量的值,即外部變量需要用final修改(java8必須用final顯式修改)。Lambda表達(dá)式只是匿名內(nèi)部類的簡化表達(dá)式。Java方法參數(shù)傳遞是值傳遞(不是地址傳遞)。不能更改外部變量的值。這句話不能改變基本數(shù)據(jù)類型的值。對于其他類型的變量,可以更改存儲(chǔ)在變量中的值。Lambda表達(dá)式無法更改變量的指針值。這樣做的原因是為了延長外部變量的生命周期并保持?jǐn)?shù)據(jù)同步。如果可以修改,lambda表達(dá)式中變量的值可能不是最新的,從而導(dǎo)致未知錯(cuò)誤。
如何開始在Java中使用Lambda表達(dá)式?
我是一名Java軟件工程師,擁有10年的項(xiàng)目架構(gòu)經(jīng)驗(yàn),歡迎跟隨我學(xué)習(xí)更多關(guān)于Java尖端技術(shù)的知識
!您可以參考此處的文章:http://jingyan.baidu.com/edit/content?類型=版本和ampeid=642c9d34382de4644a46f7bd