작성
·
179
0
error: cannot find symbol
.roles(Set.of(AccountRole.ADMIN,AccountRole.USER))
^
symbol: method of(AccountRole,AccountRole)
location: interface Set
1 error
5 warnings
Account account = Account.builder()
.email(username)
.password(password)
.roles(Set.of(AccountRole.ADMIN,AccountRole.USER))
.build();
@ElementCollection(fetch = FetchType.EAGER)
@Enumerated(EnumType.STRING)
private Set<AccountRole> roles;
위와 같이 of Method를 찾을수 없다고 나오는데 Ctrl 클리하고 봐도 아래와 같이 정상적으로 있는데 왜 찾을수 없다고 build가 안될까요 검색을 해봐도 나오는게 없어서 여쭤봅니다. JDK는 Oracle 14 사용하고있습니다...
답변 2
2
붙여주신 코드 주석에 보시다시피 자바 9버전부터 사용할 수 있는 API 인데 cannot find symbol 이란 에러가 보인다면 자바 컴파일 옵션에 버전을 낮게 주셨다거나.. 프로젝트의 컴파일 버전 옵션을 1.8로 설정하셨다거나 그런 경우밖에 생각이 안드네요.
0
Set<AccountRole> roles = new HashSet<AccountRole>();
roles.add(AccountRole.ADMIN);
roles.add(AccountRole.USER);
Account account = Account.builder()
.email(username)
.password(password)
.roles(roles)
.build();
위와 같이 작성 하니까 정상동작하는데
11 버전과 14버전 문서 모두 제가 보기엔 동일한거같은데 무슨 차이인지 알 수있을까요?
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html#of()
https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/util/Set.html#of(E,E)