Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
"It shared" in Kotlin
Search
Keishin Yokomaku
April 15, 2016
Technology
48
0
Share
"It shared" in Kotlin
Keishin Yokomaku
April 15, 2016
More Decks by Keishin Yokomaku
See All by Keishin Yokomaku
Base64 in Android
keithyokoma
0
51
One screen, many BottomSheets
keithyokoma
0
450
LazyColumnのitemがViewPortの中で占める領域の割合を知りたい
keithyokoma
0
740
Build apps for Cars
keithyokoma
0
580
Save the state
keithyokoma
0
620
Either in Kotlin
keithyokoma
0
640
持続的なアプリ開発のためのDXを支える技術
keithyokoma
2
5.6k
Make the objects serializable with kotlinx.serialization
keithyokoma
0
5.3k
Kotlin で書く Gradle Custom Tasks
keithyokoma
0
580
Other Decks in Technology
See All in Technology
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
120
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
120
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
0
170
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
650
TypeScript の型で副作用の実行順序を制御する
yanaemon
1
120
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
230
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
280
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
260
社内RAGの導入で気を付けたポイント
yakumo
1
130
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
240
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
220
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Documentation Writing (for coders)
carmenintech
77
5.3k
Ethics towards AI in product and experience design
skipperchong
2
280
Claude Code のすすめ
schroneko
67
220k
Believing is Seeing
oripsolob
1
130
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
170
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
A Soul's Torment
seathinner
6
2.8k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building the Perfect Custom Keyboard
takai
2
770
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
IT SHARED IN KOTLIN KEISHIN YOKOMAKU
ςΩετ KOTLIN ▸ JetBrains ͕։ൃͨ͠ JVM Ͱಈ͘ݴޠ ▸ Ϟμϯͳจ๏ΛऔΓೖΕͨ Better
Java ͳݴޠ ▸ 1.0.0 ͕͍ͭ࠷ۙϦϦʔε͞Εͨ
ςΩετ MODERN SYNTAX IN KOTLIN ▸ Ϧετͷૢ࡞ ▸ filter, map,
let ͳͲศརͳϝιου͕͋Δ ▸ Java8 ͷ Stream API Έ͍ͨͳͷ͕ඪ४ࡌ fun main(args: Array<String>) { listOf(1, 2, 3) .filter {n -> n < 3} .let {n -> print(n)} } => [1, 2]
ςΩετ MODERN SYNTAX IN KOTLIN ▸ σʔλΫϥε ▸ ϓϩύςΟΛอ࣋͢ΔΫϥε(=Entity)༻ͷಛผͳએݴ ▸
Getter/Setter equals/hashCodeɺtoString ΛΑ͠ͳʹ ͬͯ͘ΕΔͷͰࣗͰॻ͔ͳ͍͍ͯ͘ data class Person(val name: String, val age: Int) val eq = Person(“Hirata”, 29) .equals(Person(“Jita”, 30)) print(eq) => false
ςΩετ KEYWORD ▸ it ▸ 1 ͭͷҾΛ࣋ͭϒϩοΫͷҾΛ it ͰࢀরͰ͖Δ fun
main(args: Array<String>) { listOf(1, 2, 3) .filter {n -> n < 3} .let {n -> print(n)} }
ςΩετ KEYWORD ▸ it ▸ 1 ͭͷҾΛ࣋ͭϒϩοΫͷҾΛ it ͰࢀরͰ͖Δ fun
main(args: Array<String>) { listOf(1, 2, 3) .filter {it < 3} .let {print(it)} }
ςΩετ data class Article (val name: String, val shared: Boolean);
ςΩετ data class Article (val name: String, val shared: Boolean);
fun main(args: Array<String>) { listOf(Article(“Think Social?”, true), Article(“Facebook”, true), Article(“mixi”, false)) .filter {it.shared} .let {print(it)} }
ςΩετ data class Article (val name: String, val shared: Boolean);
fun main(args: Array<String>) { listOf(Article(“Think Social?”, true), Article(“Facebook”, true), Article(“mixi”, false)) .filter {it.shared} .let {print(it)} } => [Article(name=“Think Social?”, shared=true), Article(name=“Facebook”, shared=true)]
IT SHARED