java lambda 局部变量_java Lambda表达式访问局部变量详细介绍
此前給大家帶來了java
Lambda表達式訪問成員變量詳細介紹,下面就要繼續給大家介紹java
Lambda表達式訪問局部變量的內容,一起通過簡單的文章來進行了解吧。
對于成員變量的訪問Lambda表達式和普通方法沒有什么區別,但是,訪問局部變量的時候,變量必須是final類型的(不可改變)。
示例:public?class?LambdaDemo
{
//?實例成員變量
private?int?value?=?10;
//?靜態成員變量
private?static?int?staticValue?=?5;
//?靜態方法,進行加法運算
public?static?Calculable?add()
{
//?局部變量
int?localValue?=?20;
Calculable?result?=?(int?a,?int?b)?-?>
{
//?localValue++;
//?編譯錯誤
int?c?=?a?+?b?+?localValue;
return?c;
};
return?result;
}
//?實例方法,進行減法運算
public?Calculable?sub()
{
//?final局部變量
final?int?localValue?=?20;
Calculable?result?=?(int?a,?int?b)?-?>
{
int?c?=?a?-?b?-?staticValue?-?this.value;
//?localValue?=?c;
//?編譯錯誤
return?c;
};
return?result;
}
}
在上面的代碼當中,第10行和第23行都聲明一個局部變量localValue,Lambda表達式中訪問這個變量,如代碼第14行和第25行。
不論這個變量是否顯示顯式地使用final修飾,它都不能在Lambda表達式當中修改變量,所以代碼第12行和第26行,假如,去掉注釋會發生編譯錯誤。
注意,Lambda表達式只能訪問局部變量而不能修改,否則會發生編譯錯誤,但對靜態變量和成員變量可讀可寫。
以上的知識你都了解了嗎?請多多的關注奇Q工具網吧,更多的java入門知識,可以繼續為你分享和解答哦。
推薦閱讀:
總結
以上是生活随笔為你收集整理的java lambda 局部变量_java Lambda表达式访问局部变量详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c sqlserver建表csdn_Or
- 下一篇: java插入flash_怎样可以把fla