Kotlin ã§çç£æ§ã¢ãã
ãã®è¨äºã¯ Florina Muntenescu ã«ãã Android Developers - Medium ã®è¨äº "More productivity with Kotlin" ãå
ã«ç¿»è¨³・å çãããã®ã§ã。詳ããã¯å
è¨äºãã覧ãã ãã。
Kotlin ã¯ç°¡æ½ãªããã°ã©ãã³ã°è¨èªã¨ãã¦ç¥ããã¦ãã¾ã。ããã¦ããã¯、é«ãçç£æ§ãæå³ãã¾ã。ããã¦å®éã«、Kotlin ã使ã£ã¦ãã Android ãããããã¼ã® 67% ã、çç£æ§ãåä¸ããã¨è¿°ã¹ã¦ãã¾ã。ãã®ããã°æç¨¿ã§ã¯、Kotlin ã使ã£ã¦ãã¼ããã¼ã®ã¨ã³ã¸ãã¢ãã¡ãçç£æ§ãåä¸ãããæ¹æ³ãããã¤ãå
±æã、ãã®ããã«å½¹ç«ã¤ Kotlin ã®æ©è½ãç´¹ä»ãã¾ã。 ã¬ãã¥ã¼ãã¡ã³ããã³ã¹ã®æ
å½è
ã¯、èªãã³ã¼ããå°ãªããªãã®ã§、ã³ã¼ããè¡ã£ã¦ãããã¨ãçè§£ãããããªãã¾ã。ãã®ãã、ã¬ãã¥ã¼ãã¡ã³ããã³ã¹ã楽ã«ãªãã¾ã。 ãã®ä¸ä¾ã¨ãã¦、Flipkart ã®ãã¼ã ãç´¹ä»ãã¾ããã。 「å¼ç¤¾ã®ç¤¾å
調æ»ã«ããã¨、ãããããã¼ã® 50% ã、Kotlin ã§ã¢ã¸ã¥ã¼ã«ãæ¸ã㨠[æ©è½ã宿ãããã¾ã§ã®] è¦ç©ããå°ãããªãã¨åçãã¾ãã」(Flipkart) Kotlin ã®æ©è½ã®ã»ã¨ãã©ã¯、ç°¡æ½ãã¨é«ãå¯èªæ§ãæã¤ãã、é«ãçç£æ§ã«ã¤ãªããã¾ã。ç¹ã«ãã使ãããæ©è½ã«ã¤ãã¦è¦ã¦ã¿ã¾ããã。 Java ããã°ã©ãã³ã°è¨èªã§ã¯、ã³ã³ã¹ãã©ã¯ã¿ã®ãã©ã¡ã¼ã¿ãçç¥å¯è½ãªå ´å、ä¸è¬çã«æ¬¡ã® 2 ã¤ã®æ¹æ³ã®ã©ã¡ãããå©ç¨ãã¾ã。 Kotlin ã§ã¯ããã©ã«ã弿°ãå©ç¨ã§ããã®ã§、ã©ã¡ããå¿
è¦ããã¾ãã。ããã©ã«ã弿°ã使ãã¨、ãã¤ã©ã¼ãã¬ã¼ãã追å ãããã¨ãªã、颿°ã®ãªã¼ãã¼ãã¼ããå®è£
ã§ãã¾ã。 Cash App ãã¼ã ã Kotlin ã使ãå§ããã¨ã、å¤ãã®ãã«ãã¼ã忏ã、æ¸ãå¿
è¦ãããã³ã¼ãã®éãæ¸ãããã¨ãã§ãã¾ãã。å ´åã«ãã£ã¦ã¯、ã³ã¼ãã®ãµã¤ãºã 25% å°ãªããªãã¾ãã。 ãã¨ãã°、以ä¸ã®ä¸ä¾ã¯、 Task ãªãã¸ã§ã¯ãã®å®è£
ã§、ã¿ã¹ã¯ã®ååã®ã¿ãå¿
é ãã©ã¡ã¼ã¿ã«ãªã£ã¦ãã¾ã。ãã«ãã¼ã使ã£ãå ´åã¨、ããã©ã«ã弿°ã使ã£ãå ´åã§ããããã©ããªããã示ãã¦ãã¾ã。 /* Copyright 2020 Google LLC. SPDX-License-Identifier: Apache-2.0 */ - public class Task { - private final String name; - private final Date deadline; - private final TaskPriority priority; - private final boolean completed; - - private Task(String name, Date deadline, TaskPriority priority, boolean completed) { - this.name = name; - this.deadline = deadline; - this.priority = priority; - this.completed = completed; - } - - public static class Builder { - private final String name; - private Date deadline; - private TaskPriority priority; - private boolean completed; - - public Builder(String name) { - this.name = name; - } - - public Builder setDeadline(Date deadline) { - this.deadline = deadline; - return this; - } - - public Builder setPriority(TaskPriority priority) { - this.priority = priority; - return this; - } - - public Builder setCompleted(boolean completed) { - this.completed = completed; - return this; - } - - public Task build() { - return new Task(name, deadline, priority, completed); - } - } -} + data class Task( + val name: String, + val deadline: Date = DEFAULT_DEADLINE, + val priority: TaskPriority = TaskPriority.LOW, + val completed: Boolean = false +) ããã©ã«ã弿°ã®è©³ç´°ã«ã¤ãã¦ã¯、é£è¼ã·ãªã¼ãº Kotlin Vocablary ã®ããã°è¨äº「Kotlin ã®ããã©ã«ã弿°」ãã覧ãã ãã。 ãããã、ã·ã³ã°ã«ãã³ ãã¿ã¼ã³ã¯ã½ããã¦ã§ã¢éçºã§ç¹ã«ãã使ããããã¿ã¼ã³ã® 1 ã¤ã§ããã。ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã 1 ã¤ã ã使ã、ä»ã®ãªãã¸ã§ã¯ãããå
±æãã¦ã¢ã¯ã»ã¹ã§ããããã«ãããå ´åã«å½¹ç«ã¡ã¾ã。 ã·ã³ã°ã«ãã³ãä½ãã«ã¯、ã¤ã³ã¹ã¿ã³ã¹ã 1 ã¤ã ãåå¨ããããã«ãªãã¸ã§ã¯ãã®ä½ææ¹æ³ãå¶å¾¡ã、ã³ã¼ããã¹ã¬ããã»ã¼ãã§ãããã¨ãä¿è¨¼ããå¿
è¦ãããã¾ã。Kotlin ã§ã¯、object ãã¼ã¯ã¼ãã ãã§ãããå®ç¾ã§ãã¾ã。 /* Copyright 2020 Google LLC. SPDX-License-Identifier: Apache-2.0 */ - public class Singleton{ - private static volatile Singleton INSTANCE; - private Singleton(){} - public static Singleton getInstance(){ - if (INSTANCE == null) { // Single Checked - synchronized (Singleton.class) { - if (INSTANCE == null) { // Double checked - INSTANCE = new Singleton(); - } - } - } - return INSTANCE; - } - private int count = 0; - public int count(){ return count++; } - } + object Singleton { + private var count = 0 + fun count(): Int { + return count++ + }+ } Kotlin è¨èªã®ç°¡æ½ãã¨ã·ã³ãã«ãã¯、æ¼ç®åãªã¼ãã¼ãã¼ã、åå²ä»£å
¥、æååãã³ãã¬ã¼ããªã©ã®æ©è½ããæããã§ã。ãã®ãã、ã³ã¼ãã¯ã¨ã¦ãèªã¿ããããªãã¾ã。 ãã¨ãã°、æ¬ãéããã©ã¤ãã©ãªãããã¨ãã¾ããã。ã©ã¤ãã©ãªããæ¬ãåãåºã、ãã®ã¿ã¤ãã«ã ããåºåããå ´å、ã³ã¼ãã¯æ¬¡ã®ããã«ãªãã¾ã。 /* Copyright 2020 Google LLC. SPDX-License-Identifier: Apache-2.0 */ fun borrow(){ library -= book val (title, author) = book println("Borrowed $title") } 使ããã¦ãã Kotlin ã®æ©è½ã¯æ¬¡ã®ã¨ããã§ã。 Kotlin ã使ãã¨、ã³ã¼ãã¯èªã¿ããã、æ¸ãããããªãã¾ã。ã·ã³ã°ã«ãã³ãå§è²ãªã©ã®ãã¿ã¼ã³ãè¨èªã«çµã¿è¾¼ã¾ãã¦ãã、ããããã®ã³ã¼ããæ¸ãå¿
è¦ããªããã、ãã°ãç´ãè¾¼ã確çãä½ããªã、ã¡ã³ããã³ã¹ã®è² è·ã軽æ¸ããã¾ã。ã¾ã、æååãã³ãã¬ã¼ã、ã©ã ãå¼、ã¨ã¯ã¹ãã³ã·ã§ã³é¢æ°、æ¼ç®åãªã¼ãã¼ãã¼ããªã©ã®æ©è½ã§、ã³ã¼ããããã«ç°¡æ½ãã¤ã·ã³ãã«ã«ã§ãã¾ã。æ¸ãã³ã¼ããå°ãªããªãã°、èªãã³ã¼ããã¡ã³ããã³ã¹ããã³ã¼ããå°ãªããªã、ã¨ã©ã¼ãæ¸ã£ã¦çç£æ§ãä¸ããã¾ã。 詳ããã¯、Kotlin 㨠Android Kotlin ã§ããåªããã¢ããªã使ããããèªã¿ãã ãã。ã¾ã、å社ã®ã±ã¼ã¹ã¹ã¿ãã£ãã覧ãã ãã。ãããããã¼ã«ã¨ã£ã¦ã® Kotlin ã®ã¡ãªããã確èªã§ãã¾ã。ä¸çã§ç¹ã«å¥½ã¾ãã¦ããéçºè¨èªã® 1 ã¤ã§ãã Kotlin ã使ã£ã¦ã¿ããæ¹ã¯、å
¥éãã¼ã¸ãã覧ãã ãã。ç°¡æ½ã、ã·ã³ãã«ãã¨çç£æ§
Kotlin ã®æ©è½ã¨çç£æ§
ããã©ã«ã弿°ã¨ãã«ãã¼
ãªãã¸ã§ã¯ãã¨ã·ã³ã°ã«ãã³
æ¼ç®å、æååãã³ãã¬ã¼ããªã©
ã¾ã¨ã
