본문 바로가기
Error & Fix

자바 Lambda expression's parameter '변수명' cannot redeclare another local variable defined in an enclosing scope. 에러 해결방법

by wakestand 2020. 12. 9.
반응형

자바에서 람다(Lambda) 사용 중 발생하는 에러인

Lambda expression's parameter '변수명' cannot redeclare another local variable defined in an enclosing scope.

에러는 람다식 파라미터 변수명과

기존 작성한 변수명이 동일할 때 발생하는 에러인데

 

위 예제에서는 String 배열 arr에 들어있는 값을

val 변수로 지정한 뒤에 코드를 수행하는 식인데

 

위에 보면 String val = "";

로 같은 이름의 변수가 보이는데

 

람다식에서 String val과 파라미터 arr 배열의 파라미터 val을

식별을 하지 못하기 때문에 

 

변수명 val이 이미 있는데

변수명을 동일하게 지정하면 어떻게 식별하냐!!

이런 에러가 되겠다

 

해결방법은 간단하게 변수명을 다르게 설정해서

식별을 하지 못하는 상황을 막아주면 된다

반응형

댓글