inflearn logo
知識共有
inflearn logo

ザ・ジャバ、Java 8

Java 8で追加された機能は、Javaが提供するAPIはもちろん、Springのようなサードパーティのライブラリやフレームワークでも広く使われています。現代のJava開発者なら必ず知っておくべき内容です。この講義を通じて、素早く簡単に自分のスキルにしてください。

難易度 初級

受講期間 無制限

Java
Java
Java
Java

学習した受講者のレビュー

学習した受講者のレビュー

4.9

5.0

MyCatIsRockstar

43% 受講後に作成

この講義のおかげで、私がJavaを好きになったとしても過言ではありません。ロコテの勉強をするようになりました。やる必要はないような汽船様の思わず言葉が私が持っていたJavaに対する負担感を和らげてよかったです。

5.0

euni

100% 受講後に作成

何人かの受講坪たちのために躊躇して決済しましたが、本物の小学校のように教えてこそ満足する方が多いようですね。 元汽船様が回答する部分においては、しばしば多少不親切だと感じたことがあるが、講義ではいつも声も良くて完璧に準備しておき始める講義ではないが、むしろマイクロソフトに働くエリート開発者もこのように訪ねて行っているんだから、そんな部分まで学ぶ点だと思います。 内容も無条件多いといいんじゃないかと思うんです。 私は時間がなくてまだ汽船様の講義をあまり聞いていませんでしたが、私が今まで聞いたばかりはすべて価格対比満足度高い方だと思います。 小学生が教えるように教えてくれる講義を見たいと思ったら、他のものを見てください。

5.0

지토

100% 受講後に作成

Javaを長年使ってきましたが、Java8以降の文法に慣れておらず、既存の文法だけを使ってきました。 その講義のおかげで、新しい文法や機能を学ぶことができ、視野が広がったようです。 ありがとう:)

受講後に得られること

  • 関数型インターフェースとラムダ、そしてメソッド参照について学習します。

  • インターフェースのデフォルトメソッドとスタティックメソッドについて学習します。

  • StreamとOptionalについて学習します。

JAVA 8を正しく活用する
最も賢い方法をお教えします。.

🙆🏻‍♀ この講義では、Java 8に追加された主要な機能を学習します。
Java 8のコードを確実に理解し、自分で作成してみましょう! 🙆🏻‍♂

講義紹介 👨‍💻

2014年3月に初めてリリースされ、6年以上が経過した今でもJava開発者が最も多く使用しているバージョンであるJava 8について学習します。

Javaの基礎学習は終えたものの、まだJavaについてよく分からない部分があったり、他の人が書いたコードを見た時に見慣れない文法が出てきたりするのであれば、おそらくJava 8で追加された機能を正しく理解できていないからかもしれません。

Java 8で何ができるでしょうか? 🐔🍴

さあ、見てください!ここにChickenというインターフェースを実装した「キソン鶏」があります。

public class KeesunChicken implements Chicken {

}

ご覧の通り、インターフェースを実装しただけで、何のメソッドもオーバーライドしていません。
しかし、このようなことが可能です。

public class App {

    public static void main(String[] args) {

        Chicken keesun = new KeesunChicken();

        Egg egg = keesun.create();

    }

}

一体、Eggを返すcreate()メソッドはどうやって使えるようになったのでしょうか?

では、次のコードを見てみましょう。ここに一羽の鶏がいます。大きくなって味付け半分・フライド半分のチキンになりたい卵の世話をしていますね。

Chicken.takesCare(new Egg() {

    @Override

    public String wannaBe() {

        return "양념반 후라이드반";

    }

});

このコードは、省略してこのように書くこともできます。

Chicken.takesCare(() -> "양념반 후라이드반");

なぜこのようにEggという型を使わずに、きれいに省略できるのか不思議に思われますか?

今回は卵を分類してみましょう。

List<EggWithColorAndSize> eggs = new ArrayList<>();

eggs.add(EggWithColorAndSize.of().size(3).color("yellow"));

eggs.add(EggWithColorAndSize.of().size(4).color("white"));

eggs.add(EggWithColorAndSize.of().size(3).color("white"));

eggs.add(EggWithColorAndSize.of().size(5).color("yellow"));

eggs.add(EggWithColorAndSize.of().size(3).color("brown"));

eggs.add(EggWithColorAndSize.of().size(4).color("yellow"));

ここにある卵の中から、色がyellowの卵だけを選んでサイズ順に並べ替えた後、卵のwannaBeを出力してみましょう。
この講義を受ければ、次のようにコードを記述し、理解することができます。

eggs.stream().filter(e -> e.getColor().equals("yellow"))

        .sorted(Comparator.comparingInt(EggWithColorAndSize::getSize))

        .map(EggWithColorAndSize::wannaBe)

        .forEach(System.out::println);

別スレッドで卵を産む作業を実行し、卵を産んだら(コールバックで)美味しく食べるという次のようなコードも、理解して作成することができます。

CompletableFuture<Void> future = CompletableFuture.supplyAsync(() -> {

    System.out.println("コケコッコー〜 コッコッコッコ〜 " + Thread.currentThread().getName());

    return EggWithColorAndSize.of().size(5).color("white");

}).thenAccept((egg) -> {

    System.out.println("モグモグ: " + egg.wannaBe());

});


future.get();

この他にも、Java 8が提供するDateとTime API、アノテーションに生じた変化、メモリ領域の変化など、興味深い内容がたくさんありますので、ぜひ受講をお願いいたします。

ありがとうございます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Javaプログラミングの基礎学習を終えた開発者または学生

  • Java 8の主要機能を学習したい開発者または学生

前提知識、
必要でしょうか?

  • Javaプログラミングの基礎

こんにちは
whiteshipです。

92,984

受講生

4,310

受講レビュー

2,010

回答

4.8

講座評価

20

講座

NAVERとAmazonを経て、現在はMicrosoftでシニアソフトウェアエンジニアとして働いています。

アインシュタインは「教育とは、事実を教えることではなく、考える力を養うことである」と言いました。私もその言葉に深く共感し、講義を作っています。

YouTube:
「ペク・ギソン」チャンネルにて開発者の悩み相談および開発者に役立つ知識を共有
翻訳:スプリングおよびハイバネート関連の書籍を多数翻訳
著書:「簡単にできるJavaウェブ開発」

もっと見る

カリキュラム

全体

23件 ∙ (4時間 56分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

332件

4.9

332件の受講レビュー

  • mycatisrockstar님의 프로필 이미지
    mycatisrockstar

    受講レビュー 9

    平均評価 5.0

    5

    43% 受講後に作成

    この講義のおかげで、私がJavaを好きになったとしても過言ではありません。ロコテの勉強をするようになりました。やる必要はないような汽船様の思わず言葉が私が持っていたJavaに対する負担感を和らげてよかったです。

    • enni님의 프로필 이미지
      enni

      受講レビュー 26

      平均評価 5.0

      5

      100% 受講後に作成

      何人かの受講坪たちのために躊躇して決済しましたが、本物の小学校のように教えてこそ満足する方が多いようですね。 元汽船様が回答する部分においては、しばしば多少不親切だと感じたことがあるが、講義ではいつも声も良くて完璧に準備しておき始める講義ではないが、むしろマイクロソフトに働くエリート開発者もこのように訪ねて行っているんだから、そんな部分まで学ぶ点だと思います。 内容も無条件多いといいんじゃないかと思うんです。 私は時間がなくてまだ汽船様の講義をあまり聞いていませんでしたが、私が今まで聞いたばかりはすべて価格対比満足度高い方だと思います。 小学生が教えるように教えてくれる講義を見たいと思ったら、他のものを見てください。

      • mohai님의 프로필 이미지
        mohai

        受講レビュー 16

        平均評価 4.9

        5

        100% 受講後に作成

        Java 8講義です

        • cco24160663님의 프로필 이미지
          cco24160663

          受講レビュー 3

          平均評価 4.7

          4

          100% 受講後に作成

          JAVA8についてもう一度考えてみる機会なのでよかったです。新しくできた機能も一度ずつ見せて掛けながら慣れる過程を持つと良かったようです。 コード作成時に一つのクラスで内容を消したというより、授業ごとにパッケージなどを作って進めば、より完璧な講義になりそうです。

          • zito님의 프로필 이미지
            zito

            受講レビュー 6

            平均評価 5.0

            5

            100% 受講後に作成

            Javaを長年使ってきましたが、Java8以降の文法に慣れておらず、既存の文法だけを使ってきました。 その講義のおかげで、新しい文法や機能を学ぶことができ、視野が広がったようです。 ありがとう:)

            • whiteship
              知識共有者

              よく受講しました。この講義で取り上げた機能は、今後Javaを書けば基本的に使われることになる機能です。受講評 ありがとうございます。

          whiteshipの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!

          ¥6,986