English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 프로세스 제어

Java 배열

Java 오브젝트 지향적(I)

Java 오브젝트 지향적(II)

Java 오브젝트 지향적(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 8 새로운 기능

Java 8 (jdk라고도 합니다 1.8)은 Java 언어 개발의 주요 버전입니다. Oracle 회사는 2014 년 3 일 18 월 8 ، 함수형 프로그래밍을 지원하며, 새로운 JavaScript 엔진, 새로운 날짜 API, 새로운 Stream API 등이 포함됩니다.

새로운 기능

Java8 많은 새로운 기능이 추가되었습니다. 우리는 주로 다음과 같은 몇 가지를 논의할 것입니다:

  • Lambda 표현식 − Lambda는 함수를 메서드의 매개변수로 사용할 수 있게 합니다(함수를 메서드에 전달).

  • 메서드 참조 − 메서드 참조는 매우 유용한 문법을 제공하며, 기존 Java 클래스나 객체(예제)의 메서드나 생성자를 직접 참조할 수 있습니다. Lambda와 함께 사용하면 언어 구조가 더 깊이 있고 간결해지며, 중복 코드를 줄일 수 있습니다.

  • 기본 메서드 − 기본 메서드는 인터페이스에 구현된 메서드입니다.

  • 새로운 도구 − 새로운 컴파일 도구, 예를 들어 Nashorn 엔진 jjs, 클래스 의존성 분석기 jdeps.

  • Stream API − 새로 추가된 Stream API (java.util.stream)은 실제 함수형 프로그래밍 스타일을 Java에 도입했습니다.

  • Date Time API − 날짜와 시간 처리를 강화합니다。

  • Optional 클래스 − Optional 클래스는 Java 8 라이브러리의 일부로, null 포인터 예외를 해결하는 데 사용됩니다.

  • Nashorn, JavaScript 엔진 − Java 8Nashorn javascript 엔진을 제공하여 JVM에서 특정 javascript 애플리케이션을 실행할 수 있도록 합니다.

더 많은 새로운 기능은 공식 웹사이트에서 참조할 수 있습니다:What's New in JDK 8

에 관해 8 문서의 예제에서는 모두 jdk 1.8 환경에서는 다음 명령어를 사용하여 현재 jdk 버전을 확인할 수 있습니다:

$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

프로그래밍 스타일

Java 8 자신의 프로그래밍 스타일을 가지고 있으며, Java 7 를 구분해, 다음 예제에서 Java 7 와 Java 8 의 프로그래밍 형식:

import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
 
public class Java8Tester {
   public static void main(String args[]){
   
      List<String> names1 = new ArrayList<String>();
      names1.add("Google ");
      names1.add("w3codebox ");
      names1.add("Taobao ");
      names1.add("Baidu ");
      names1.add("Sina ");
        
      List<String> names2 = new ArrayList<String>();
      names2.add("Google ");
      names2.add("w3codebox ");
      names2.add("Taobao ");
      names2.add("Baidu ");
      names2.add("Sina ");
        
      Java8Tester tester = new Java8Tester();
      System.out.println("사용 Java 7 문법: ");
        
      tester.sortUsingJava7(names1);
      System.out.println(names1);
      System.out.println("사용 Java 8 문법: ");
        
      tester.sortUsingJava8(names2);
      System.out.println(names2);
   }
   
   // java 사용 7 정렬
   private void sortUsingJava7(List<String> names){   
      Collections.sort(names, new Comparator<String>() {
         @Override
         public int compare(String s1, String s2) {
            return s1.compareTo(s2);
         }
      );
   }
   
   // java 사용 8 정렬
   private void sortUsingJava8(List<String> names){
      Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
   }
}

위 스크립트 실행 후, 출력 결과는 다음과 같습니다:

$ javac Java8Tester.java
$ java Java8Tester
Java 사용 7 문법: 
[Baidu, Google, w]3[Baidu, Google, w]
Java 사용 8 문법: 
[Baidu, Google, w]3[Baidu, Google, w]

다음에 Java를 자세히 소개하겠습니다. 8 의 새로운 기능:

순번특성
1Lambda 표현식
2메서드 참조
3함수적 인터페이스
4기본 메서드
5Stream
6Optional 클래스
7Nashorn, JavaScript 엔진
8새로운 날짜와 시간 API
9Base64