NDS36 Java7&Java8
-
Upload
yukiya-nakagawa -
Category
Technology
-
view
1.935 -
download
1
description
Transcript of NDS36 Java7&Java8
Java7やJava8が僕らの目に優しくなってきているNkzn 2014.3.15 長岡開発者勉強会 #36
自己紹介名前:中川幸哉 a.k.a なかざん(@Nkzn)
先日27歳になりました(あらさー!)
アグリノート社ウォーターセル社の人
Androidアプリエンジニアです
最近はコーディングよりマネージャー業務とかアーキテクト業務が多めです
Javaつらい勢
Javaの話Write Once, Run Anywhere
Java Language1995年登場
2010年1月、開発元のSunがOracleに買収された
最新バージョンはJava SE 7u51
3日後くらいにJava8がリリースされるらしい
強い静的型付け
C++などからの派生言語
Duke
Java Overview
Hardware
Operating System (Windows, OS X, Linux, others)
Java Virtual Machine(JVM)
Java Code (.java)
Byte Code (.class)
compiler (javac)
Type Checking
Javaと一言に言っても言語としてのJava(今回はこれ)
動作環境としてのJava
Java Virtual Machine (JVM)
Java Runtime Environment (JRE)
JavaScriptの言い間違えとしてのJava(やめろ)
見た目の特徴名前空間(package)
クラスベース
前置の型宣言
セミコロン必須
型付きのコンテナ(Generics)
ドットによるフィールドやメソッドの呼び出し
自身のインスタンスは「this」
テキスト
Java7でGenericsが賢くなったお話ダイヤモンドは砕けない
Java6まで
Java7から
型推論代入式の左辺で型が確定しているジェネリクスは、右辺で型パラメータを指定しなくてもよくなりました
<>のことをダイヤモンド演算子 (Diamond Operator)と呼びます
どうせIDEが補完してくれる部分だったので、正直タイプ数はそんなに変わらなくて、嬉しいかと言われると微妙
コードがある程度ごちゃごちゃしなくなったので、見やすくなった点はだいぶ嬉しい
いちおーJava8では、代入だけではなく引数に入れるときにもダイヤモンド書いていいことになったらしいです(特に嬉しくはない)
テキスト
Java8でコールバックが書きやすくなったお話() -> {}
Java7までのinterfaceの匿名実装インターフェースの定義
匿名クラスを実装してセット
–Yukiya Nakagawa (1987~)
“だるい。”
Java8から
ラムダ、はじめました
省略の過程原型
処理が1行の時、ブロックとreturnは省略可
引数の型が自明であるときは省略可
引数が1つのときは括弧を省略可
まとめ
最近のJava言語(特にJava8)は、ScalaなどのJava派生言語が持つ良いところを積極的に取り込もうとしている感じが好ましいです。
Java8には他にも色々と新機能が追加されているので、調べてみるといいと思います。
最後に業務連絡
AndroidのVMにはJava7の一部の機能(型推論とか)しか実装されませんでした
Java8にはJava7で追加されたinvokeDynamicを踏まえた新機能が結構あるっぽいので、AndroidにはJava8は来ないと思ったほうがいいです
ご清聴ありがとうございました 。゚(゚´Д`゚)゚。