Java SE 10부터 추가된 var type에 대해 알아봅니다.
Var Keyword 선언
지역변수로 선언하는 법입니다.
//old
String msg = "Hello world!";
Path path = Path.of("debug.log");
InputStream stream = Files.newInputStream(path);
//new - var 키워드 사용
var msg = "Hello world!";
var path = Path.of("debug.log");
var stream = Files.newInputStream(path);
Var Keyword 사용하기
var list = List.of("one", "two", "three", "four");
for (var element: list) {
System.out.println(element);
}
var path = Path.of("debug.log");
try (var stream = Files.newInputStream(path)) {
// process the file
}
Var 사용에 대한 제한 사항
- 메서드, 생성자 및 이니셜라이저 블록에 선언된 지역 변수 에만 사용할 수 있습니다 .
- var 메서드 또는 생성자 매개변수가 아닌 필드에 사용할 수 없습니다.
- 컴파일러는 변수가 선언될 때 유형을 선택할 수 있어야 합니다.
아래 코드는 컴파일되지 않습니다
public class User {
private var name = "observer";
public void setName(var name) {
this.name = name;
}
}
아래의 경우 컴파일러는 message 이니셜라이저가 없기 때문에 실제 유형을 추측할 수가 없습니다.
public String greetings(int message) {
var greetings;
if (message == 0) {
greetings = "morning";
} else {
greetings = "afternoon";
}
return "Good " + greetings;
}
'개발&프로그래밍' 카테고리의 다른 글
[JAVA] JDK19를 대상으로 하는 Features (0) | 2022.04.28 |
---|---|
[JAVA] 변수 생성과 변수 이름 규칙 (0) | 2022.04.27 |
[JAVA] JDK18 릴리즈 (0) | 2022.04.25 |
[IntelliJ] Junit5에서 @DisplayName 이 IntelliJ 실행 탭에 표시되지 않는 문제 해결 (0) | 2022.04.06 |
[JAVA] ArrayList 클래스 사용하기 (0) | 2022.03.22 |
댓글