반응형
Var
Java SE 10부터는 var 로컬 변수를 선언하기위한 유형 식별자. 이렇게하면 컴파일러가 생성 한 변수의 실제 유형을 결정하게합니다. 일단 생성되면이 유형을 변경할 수 없습니다.
다음 예를 고려하십시오.
String message = "Hello world!";
Path path = Path.of("debug.log");
InputStream stream = Files.newInputStream(path);
이 경우 세 변수의 명시 적 유형을 선언해야합니다
var 유형 식별자 이전 코드는 다음과 같이 작성할 수 있습니다:
var message = "Hello world!";
var path = Path.of("debug.log");
var stream = Files.newInputStream(path);
Var의 예
다음 예는 사용 방법을 보여줍니다 var 코드를보다 쉽게 읽을 수 있도록 식별자를 입력하십시오.
여기 strings 변수는 유형이 주어진다 List<String> 그리고 element 변수 유형 String.
var list = List.of("one", "two", "three", "four");
for (var element: list) {
System.out.println(element);
}
이 예에서 path 변수는 유형입니다 Path, stream 변수는 유형입니다 InputStream.
var path = Path.of("debug.log");
try (var stream = Files.newInputStream(path)) {
// process the file
}
이전의 두 예제에서 var for 문과 try-with-resources 문에서 변수를 선언합니다.
이 두 문장은 나중에이 자습서에서 다룹니다.
Var 사용에 대한 제한
사용에 대한 제한이 있습니다 var 유형 식별자.
- 지역 변수 메소드, 생성자 및 초기화 블록에서 선언됩니다.
- var메소드 또는 생성자 매개 변수가 아닌 필드에는 사용할 수 없습니다.
- 변수가 선언 될 때 컴파일러는 유형을 선택할 수 있어야합니다. 이후 null 유형이 없으면 변수에 이니셜 라이저가 있어야합니다.
이러한 제한에 따라 다음 클래스는 컴파일되지 않습니다 var 필드 또는 메소드 매개 변수에 대한 유형 식별자가 불가능하기 때문입니다.
public class User {
private var name = "Sue";
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;
}
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다
반응형
'∮explotación≒ 개발' 카테고리의 다른 글
java Expressions (0) | 2023.02.19 |
---|---|
java 연산자 에 대해서 알아보자 자바 연산자 란 (0) | 2023.02.17 |
java 배열에 대해서 알아보자 배열이란 무엇인가? (0) | 2023.02.15 |
java 기본 유형 에 대해서 알아보자 (0) | 2023.02.06 |
java variable [변수] 선언 방법 (0) | 2023.02.05 |
댓글