JAVA 11 초 체험
일 선 개발 자로 서 JAVA 11 은 우리 에 게 어떤 편리 함 을 가 져 다 줄 까?다음은 우리 가 체험 해 보 자.
Lambda 표현 식 에서 var 사용 하기
로 컬 변수 유형 var 는 자바 10 이 제시 한 새로운 개념 으로 문맥 에서 로 컬 변수의 유형 을 추정 하여 코드 의 가 독성 을 높 일 수 있 습 니 다.우 리 는 아래 의 예 를 보 자.
public class Main {
public static void main(String[] args) throws Exception {
URL url = new URL("http://www.oracle.com/");
URLConnection conn = url.openConnection();
Reader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
}
}
var 성명 을 사용 하면 위의 코드 를 다음 과 같이 바 꿀 수 있 습 니 다.
public class Main {
public static void main(String[] args) throws Exception {
var url = new URL("http://www.oracle.com/");
var conn = url.openConnection();
var reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
}
}
우 리 는 URL,URLConnection,Reader 대신 var 를 사용 하여 코드 의 가 독성 을 향상 시 키 고 개발 도 편리 하 게 했다.그러나 JAVA 10 에서 var 변 수 는 lambda 표현 식 에서 설명 할 수 없 으 며 JAVA 11 에서 이 문 제 를 해결 했다.우 리 는 lambda 표현 식 에서 var 를 사용 할 수 있 습 니 다.다음 과 같 습 니 다.
(var x, var y) -> x.process(y)
위의 예 는
(x, y) -> x.process(y)
그러나 우 리 는 혼합 해서 사용 할 수 없다.아래 의 두 가지 예 는 모두 잘못된 것 이다.
// lambda , var, var
(var x, y) -> x.process(y)
// lambda , ,
(var x, int y) -> x.process(y)
표준 화 된 HTTP 클 라 이언 트 API
이전에 우리 가 프로그램 에서 HttpClient 를 사 용 했 을 때,보통 apache 의 HttpClient 도 구 를 도입 했다.JAVA 11 에 서 는 JDK 원생 HttpClient 를 사용 할 수 있 습 니 다.
public class HttpTest {
public static void main(String[] args) throws Exception {
String uri = "http://www.baidu.com";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(uri))
.build();
HttpResponse response =
client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
위의 예 는 동기 화 된 get 요청 이 고 다른 방법 은 HttpClient 도 제공 합 니 다.예 를 들 어:
비동기 get게시 물 제출동시 다발 요청
이 예 들 은 여기 서 상세 하 게 소개 하지 않 겠 습 니 다.필요 하 시 면 공식 예 를 참고 하 십시오.기능 이 매우 강 하 죠?우 리 는 다른 HttpClient 의 jar 가방 을 더 이상 도입 할 필요 가 없습니다.
총결산
일 선 개발 자 입장 에 서 는 JAVA 11 의 체험 이 이렇게 많은 데 누락 이 있 으 면 추 후 보완 하 겠 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.