Pleiades Eclipse 2020-03 릴리스 ~ Java 14 새로운 기능을 사용해보십시오!

Pleiades All in One Eclipse 2020-03을 출시했습니다. 현재 Java 11 LTS에서 2021년 Java 17 LTS 마이그레이션을 위해 새로운 기능을 사용해 봅시다. Pleiades All in One 의 Java Full Edition 은 해동하는 것만으로, Java 의 인스톨이나 환경 변수의 설정이 불필요해 Eclipse 의 각종 설정도 자동으로 행해지기 때문에, 곧바로 일본어화된 Eclipse 로 Java 14 를 이용할 수 있다 합니다.

Pleiades All in One 다운로드
ht tp // // rmd c. 오 sd. jp/


Java 14 프로젝트 만들기



디폴트로 설정 끝난 Java 6, 7, 8, 11, 14 에서 14 를 선택하기만 하면 됩니다.
Java 다운로드, 설치 경로 설정 등은 필요하지 않습니다.


비표준 미리 보기 기능을 사용하려면 프로젝트의 속성을 설정합니다.
프로젝트 > 마우스 오른쪽 버튼 > 속성


Java 코드 텍스트 붙여넣기 편리한 기능



이것은 옛날부터의 기능입니다만, 패키지 익스플로러의 트리의 src 부하에 파일이 아니고, Java 의 소스 코드 텍스트를 직접 붙여 넣는 것만으로, 이하의 동작이 되어 즐겁습니다. 오른쪽 클릭하여 신규 > 클래스 > 대화상자라든지 불필요합니다.
  • 붙여 넣은 텍스트의 class 선언에 맞추어 .java 파일이 작성된다
  • 붙여 넣은 디렉토리 위치에 맞추어 package 선언을 다시 써 준다
  • 편집기 열기

  • Java 14 새로운 기능



    switch, 레코드, 텍스트 블록, 패턴 매치의 샘플 코드입니다.
    붙여 넣어 시험하기 쉽도록 1 클래스로 하고 있습니다.
    import static java.lang.System.*;
    import java.time.Month;
    
    class Demo {
    
        public static void main(String[] args) {
    
            //--------------------------------------------------
            // switch (Java 14 標準)
            {
                // 複数ラベル - 結果: "Hello\nWorld\n"
                var i = 1;
                switch (i) {
                    case 0, 1, 2: out.println("Hello");
                    default :  out.println("World");
                }
            }
            {
                // アロー - 結果: Hello
                var i = 2;
                switch (i) {
                    case  2 -> out.println("Hello");
                    default ->  out.println("World");
                }
            }
            {
                // switch 式 - 結果: 大の月
                var month = Month.MARCH;
                String day = switch(month) {
                    case APRIL, FEBRUARY, JUNE, NOVEMBER, SEPTEMBER -> "小の月";
                    case AUGUST, DECEMBER, JANUARY, JULY, MARCH, MAY, OCTOBER -> "大の月";
                };
                out.println(day);
            }
    
            //--------------------------------------------------
            // record (Java 14 プレビュー)
            {
                // インナー record 定義
                record Point(int x, int y) {}
    
                // getter 自動生成 - 結果: 10
                out.println(new Point(10, 20).x());
    
                // toString 自動生成 - 結果: Point[x=10, y=20]
                out.println(new Point(10, 20));
    
                // equals 自動生成 - 結果: true
                out.println(new Point(10, 20).equals(new Point(10, 20)));
            }
    
            //--------------------------------------------------
            // テキストブロック (Java 14 セカンドプレビュー)
            {
                // 結果: "Hello\n    World"
                String s = """
                        Hello
                            World
                                """;
                System.out.println(s);
            }
    
            //--------------------------------------------------
            // instanceof パターンマッチ (Java 14 プレビュー)
            {
                // instanceof で代入 - 結果: 3
                Object object = 1;
                if (object instanceof Integer i) {
                    out.println(i + 2);
                }
                // 型と値の複合条件
                if (object instanceof Integer i && i == 1) {
                    out.println(i);
                }
            }
    
            //--------------------------------------------------
            // NullPointerException 詳細出力 (Java 14 標準)
            // 実行構成の VM 引数に -XX:+ShowCodeDetailsInExceptionMessages 追加
            // 結果:
            /*
            Exception in thread "main" java.lang.NullPointerException:
                Cannot invoke "String.length()" because "s" is null
                    at Demo.main(Demo.java:78)
            */
            {
                String s = null;
                s.length();
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기