inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

더 자바, Java 8

강사님 람다식 변수 질문드립니다.

389

주정준

작성한 질문수 5

0

람다식에서 사용되는 변수는 상수여아 한다고 강의를 해주셨는데요

public class FromIntRange {
public static int sum;
public static void main(String[] args) {
IntStream stream = IntStream.rangeClosed(1, 100);
stream.forEach(a -> sum += a);
System.out.println("총합 : " + sum);

}
}

위 예제에서 sum은 상수가 아닌데 오류가 안 나더라고요

실험삼아 public static int sum을

int sum으로 수정하고 main 메소드 안에다가 넣었더니

상수만 사용가능하다고 에러가 뜹니다.

너무 헷갈리네요 ㅠㅠ 어떻게 된건가요?

java

답변 1

1

백기선

람다 본문에서 밖에 있는 변수들 중에 local 변수랑 static 변수를 참조할 수 있는데 그 중에 local 변수는 사실상 final 이거나 명시적으로 final인 것만 참조할 수 있습니다.

해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.

0

26

1

CompletableFuture의 get 실행에 대해 궁금한 점이 있습니다

0

267

2

기본 인터페이스의 기본 제공 메서드 관련 질문 (왜 이걸 사용하는지)

0

553

2

static 과 metaspace 관련 질문있습니다.

0

737

0

Map의 가장 큰 특징이 key는 null이 아니다

0

2431

2

Optional 질문드립니다.

0

495

0

인텔리제이 콘솔창

0

598

0

Supplier를 쓰는 이유

0

1394

1

allOf()에서 컬렉션으로 반환하는 것을 설명할 때 코드

0

733

1

[참고] LTS주기

0

496

1

orElseThrow()

1

1122

2

findFirst함수

0

382

1

메서드 레퍼런스

1

506

1

primitive type 질문

0

333

1

FunctionalInterface 상속 관계 질문

0

318

1

함수형 인터페이스를 왜 사용하나요?

1

522

1

while문 세미콜론

0

460

1

flatMap Optional과 Stream에서의 차이점을 제가 잘 이해했는지 헷갈립니다!

0

449

1

람다식과 익명 클래스

0

352

1

steam api 예제 git 주소

3

814

1

thread.sleep질문

0

417

2

.orElse 매개변수 질문

0

280

1

isPresent( ) 와 null 질문

0

356

1

예제 코드 질문

2

306

1