±¾ÎĸÅÀÀ£º
Kotlin µÄ»ù±¾Ê¾·¶
Kotlin ÓïÑÔµÄÖ÷ÒªÌØÕ÷
Android ºÍ·þÎñÆ÷¶Ë¿ª·¢µÄ¿ÉÄÜÐÔ
Kotlin ÓëÆäËûÓïÑÔµÄÇø±ð
Óà Kotlin ±àд²¢ÔËÐдúÂë
Kotlin µ½µ×ÊÇʲô ? ËüÊÇÒ»ÖÖÕë¶Ô Java ƽ̨µÄбà³ÌÓïÑÔ¡£Kotlin ¼ò½à¡¢°²È«¡¢Îñʵ£¬²¢ÇÒרעÓÚÓë
Java ´úÂëµÄ»¥²Ù×÷ÐÔ¡£Ëü¼¸ºõ¿ÉÒÔÓÃÔÚÏÖÔÚ Java ʹÓõÄÈκεط½ £º·þÎñÆ÷¶Ë¿ª·¢¡¢Android
Ó¦Ó㬵ȵȡ£Kotlin ¿ÉÒԺܺõغÍËùÓÐÏÖ´æµÄ Java ¿âºÍ¿ò¼ÜÒ»Æð¹¤×÷£¬¶øÇÒÐÔÄÜˮƽºÍ Java
Æì¹ÄÏ൱¡£±¾ÎÄÎÒÃǽ«ÏêϸµØÌ½ÌÖ Kotlin µÄÖ÷ÒªÌØÕ÷¡£
Kotlin³õÌåÑé
ÈÃÎÒÃÇ´ÓÒ»¸öСÀý×Ó¿ªÊ¼£¬À´¿´¿´ Kotlin ´úÂ볤ʲôÑù×Ó¡£Õâ¸öÀý×Ó¶¨ÒåÁËÒ»¸ö Person ÀàÀ´±íʾ¡°ÈË¡±£¬´´½¨Ò»¸ö¡°ÈË¡±µÄ¼¯ºÏ£¬²éÕÒÆäÖÐÄê¼Í×î´óµÄÈË£¬²¢´òÓ¡½á¹û¡£¾¡¹ÜÕâÊǷdz£Ð¡µÄÒ»¶Î´úÂ룬´ÓÖÐÒ²¿ÉÒÔ¿´µ½
Kotlin Ðí¶àÓÐȤµÄÌØÐÔ¡£
ÎÒÃÇ¶ÔÆäÖеÄÒ»Ð©ÌØÐÔ×öÁ˱ê¼Ç£¬ÒÔ±ãÄã¿ÉÒÔ·½±ãµØÔÚ±¾ÊéºóÐøµÄÄÚÈÝÖÐÕÒµ½ËüÃÇ¡£
´úÂë¼òÒªµØ½øÐÐÁ˽âÊÍ£¬µ«ÊÇÈç¹ûÓÐЩÄÚÈÝÄãÏÖÔÚ»¹ÎÞ·¨Àí½â£¬Çë²»Òªµ£ÐÄ£¬ÉÔºóÎÒÃÇ»áÏêϸÌÖÂÛ¡£
Èç¹ûÄãÏë³¢ÊÔÔËÐÐÕâ¸öÀý ×Ó£¬×î¼òµ¥µÄ·½·¨ÊÇʹÓà http://try.kotl.in µÄÔÚÏß Playground¡£ÊäÈëʾÀý´úÂë²¢µ¥»÷
Run °´Å¥£¬´úÂ뽫»áÖ´ÐС£
´úÂëÇåµ¥ 1.1¡¡Kotlin ³õÌåÑé

ÄãÉùÃ÷ÁËÒ»¸ö¼òµ¥µÄÊý¾ÝÀ࣬Ëü°üÀ¨ÁËÁ½¸öÊôÐÔ£ºnameºÍage¡£ageÊôÐÔĬÈÏΪnull£¨Èç¹ûûÓÐÖ¸¶¨£©¡£ÔÚ´´½¨¡°ÈË¡±µÄÁбíʱ£¬ÄãÊ¡ÂÔÁËAliceµÄÄêÁ䣬ËùÒÔÕâÀïÄêÁäʹÓÃÁËĬÈÏÖµnull¡£È»ºóÄãµ÷ÓÃÁËmaxByº¯ÊýÀ´²éÕÒÁбíÖÐÄê¼Í×î´óµÄÄǸö¡°ÈË¡±¡£´«µÝ¸øÕâ¸öº¯ÊýµÄlambda±í´ïʽÐèÒªÒ»¸ö²ÎÊý£¬Ê¹ÓÃit×÷ΪÕâ¸ö²ÎÊýµÄĬÈÏÃû³Æ¡£Èç¹ûageÊôÐÔΪnull£¬ElvisÔËËã·û£¨?:£©»á·µ»ØÁã¡£ÒòΪAliceµÄÄêÁäûÓÐÖ¸¶¨£¬ElvisÔËËã·ûʹÓÃÁã´úÌæÁËËü£¬ËùÒÔBobÐÒÔ˵سÉÁËÄê¼Í×î´óµÄÈË¡£
ϲ»¶ÕâÑùµÄ´úÂëÂð ? ¼ÌÐø¶ÁÏÂÈ¥£¬Ä㽫»áѧϰµ½¸ü¶à£¬²¢³ÉΪһÃû Kotlin ר¼Ò¡£ÎÒÃÇÏ£Íû²»¾ÃÖ®ºó£¬ÔÚÄã×Ô¼ºµÄÏîÄ¿ÖÐÒ²ÄÜ¿´µ½ÕâÑùµÄ´úÂ룬¶ø²»Ö»ÊÇÔÚÊéÉÏ¡£
KotlinµÄÖ÷ÒªÌØÕ÷
Äã´ó¸ÅÒѾ֪µÀÁË Kotlin ÊÇÒ»ÖÖÔõÑùµÄÓïÑÔ£¬ÈÃÎÒÃǸü¼ÓÉîÈëµØÁ˽âÒ»ÏÂËüµÄ¹Ø¼üÊôÐÔ¡£Ê×ÏÈ£¬ÎÒÃÇÀ´¿´¿´ÄãÄÜÓÃ
Kotlin ´´ÔìÄÄЩÖÖÀàµÄÓ¦ÓóÌÐò¡£
Ä¿±êƽ̨ £º·þÎñÆ÷¶Ë¡¢Android ¼°ÈκΠJava ÔËÐеĵط½
Kotlin µÄÊ×ҪĿ±êÊÇÌṩһÖÖ¸ü¼ò½à¡¢¸ü¸ßЧ¡¢¸ü°²È«µÄÌæ´ú Java µÄÓïÑÔ£¬²¢ÇÒÊÊÓÃÓÚÏÖ½ñʹÓÃ
Java µÄËùÓл·¾³¡£Java ÊÇÒ»Ãŷdz£ÊÜ»¶ÓµÄÓïÑÔ£¬Ëü¹ã·ºµØÓ¦ÓÃÓÚ²»Í¬µÄ»·¾³ £ºÐ¡µ½ÖÇÄÜ¿¨ (JavaCard
¼¼Êõ )£¬´óµ½ Google¡¢Twitter¡¢LinkedIn ºÍÆäËûÕâÖÖ¹æÄ£µÄ»¥ÁªÍø¹«Ë¾ÔËÐеÄ×î´óµÄÊý¾ÝÖÐÐÄ¡£ÔÚÕâЩµØ·½£¬Ê¹ÓÃ
Kotlin ¿ÉÒÔ°ïÖú¿ª·¢ÕßÔÚʵÏÖÄ¿±êµÄͬʱ¼õÉÙ´úÂë²¢±ÜÃâÂé·³¡£
Kotlin ×î³£¼ûµÄÓ¦Óó¡¾°ÓÐ £º
±àд·þÎñÆ÷¶Ë´úÂ루µäÐ͵Ĵú±íÊÇ Web Ó¦Óúó¶Ë£©
´´½¨ Android É豸ÉÏÔËÐеÄÒÆ¶¯Ó¦ÓÃ
µ« Kotlin »¹ÓÐÆäËûÓÃÎäÖ®µØ¡£ÀýÈ磬¿ÉÒÔʹÓà Intel Multi-OS Engine£¨(https://
software.intel.com/en-us/multi-os-engine£©Èà Kotlin
´úÂëÔËÐÐÔÚ iOS É豸ÉÏ¡£»¹¿ÉÒÔ Ê¹Óà Kotlin ºÍ TornadoFX£¨https://github.com/edvin/tornadofx£©ÒÔ¼°
JavaFX£¨http://mng.bz/500y£© Ò»ÆðÀ´¹¹ ½¨×ÀÃæÓ¦ÓóÌÐò¡£
³ýÁË Java Ö®Í⣬Kotlin »¹¿ÉÒÔ±àÒë³É JavaScript£¬ÔÊÐíÄãÔÚä¯ÀÀÆ÷ÖÐÔËÐÐ Kotlin
´úÂë¡£µ«½ØÖ¹±¾Êé׫дʱ£¬¶Ô JavaScript µÄÖ§³ÖÈÔÔÚ JetBrains ÄÚ²¿Ì½Ë÷²¢½øÐÐÔÐÍ
¿ª·¢£¬Õⳬ³öÁ˱¾ÊéµÄ·¶Î§£¬¶øÆäËûһЩƽ̨ҲÔÚ¿¼ÂÇÖ§³Ö Kotlin µÄδÀ´°æ±¾¡£
ÕýÈçÄãËù¿´µ½µÄ£¬Kotlin µÄÄ¿±êƽ̨ÊÇÏ൱¹ã·ºµÄ¡£Kotlin ²¢Ã»Óб»ÏÞÖÆÔÚµ¥ Ò»µÄÎÊÌâÓò£¬Ò²Ã»Óб»ÏÞÖÆÔÚ½â¾öÈí¼þ¿ª·¢ÕßÃæÁÙµÄijһÀàÐ͵ÄÌôÕ½¡£Ïà·´£¬¶ÔËù
Óпª·¢¹ý³ÌÖÐÓ¿ÏÖµÄÈÎÎñ£¬Kotlin ¶¼ÌṩÁËÈ«ÃæµÄÉú²úÁ¦ÌáÉý¡£Ëü½èÖúÖ§³ÖÌØ¶¨Áì Óò»ò±à³Ì·¶Ê½µÄ¿â£¬ÌṩÁË׿ԽµÄ¼¯³ÉË®×¼¡£½ÓÏÂÀ´ÈÃÎÒÃÇÀ´¿´¿´
Kotlin ×÷ΪһÖÖ ±à³ÌÓïÑԵĹؼüÌØÖÊ¡£
¾²Ì¬ÀàÐÍ
Kotlin ºÍ Java Ò»ÑùÊÇÒ»ÖÖ¾²Ì¬ÀàÐ͵ıà³ÌÓïÑÔ¡£ÕâÒâζ×ÅËùÓбí´ïʽµÄÀàÐÍÔÚ ±àÒëÆÚÒѾȷ¶¨ÁË£¬¶ø±àÒëÆ÷¾ÍÄÜÑéÖ¤¶ÔÏóÊÇ·ñ°üº¬ÁËÄãÏë·ÃÎʵķ½·¨»òÕß×ֶΡ£
ÕâÓë ¶¯Ì¬ÀàÐÍ µÄ±à³ÌÓïÑÔÐγÉÁËÏÊÃ÷µÄ¶Ô ±È£¬ºóÕßÔÚ JVM ÉϵĴú±í°üÀ¨ Groovy ºÍ JRuby¡£ÕâЩÓïÑÔÔÊÐíÄ㶨Òå¿ÉÒÔ´æ´¢ÈκÎÊý¾ÝÀàÐ͵ıäÁ¿£¬»òÕß·µ»ØÈÎ
ºÎÊý¾ÝÀàÐ͵ĺ¯Êý£¬²¢ÔÚÔËÐÐʱ²Å½âÎö·½·¨ºÍ×Ö¶ÎÒýÓá£Õâ»á¼õÉÙ´úÂëÁ¿²¢Ôö¼Ó´´ ½¨Êý¾Ý½á¹¹µÄÁé»îÐÔ¡£µ«ËüµÄȱµãÊÇ£¬ÔÚ±àÒëÆÚ²»ÄÜ·¢ÏÖÏñÃû×ÖÆ´Ð´´íÎóÕâÑùµÄÎÊÌ⣬¼Ì¶øµ¼ÖÂÔËÐÐʱµÄ´íÎó¡£
ÁíÒ»·½Ã棬Óë Java ²»Í¬µÄÊÇ£¬Kotlin ²»ÐèÒªÄãÔÚÔ´´úÂëÖÐÏÔʽµØÉùÃ÷ÿ¸ö±äÁ¿ µÄÀàÐÍ¡£ºÜ¶àÇé¿öÏ£¬±äÁ¿ÀàÐÍ¿ÉÒÔ¸ù¾ÝÉÏÏÂÎÄÀ´×Ô¶¯Åжϣ¬ÕâÑù¾Í¿ÉÒÔÊ¡ÂÔÀàÐÍÉùÃ÷¡£ÕâÀïÓÐÒ»¸ö¿ÉÄÜÊÇ×î¼òµ¥µÄÀý×Ó
£º
val x = 1
ÔÚÉùÃ÷Õâ¸ö±äÁ¿Ê±£¬ÓÉÓÚ±äÁ¿³õʼ»¯ÎªÕûÐÍÖµ£¬Kotlin ×Ô¶¯ÅжϳöËüµÄÀàÐÍÊÇ Int¡£±àÒëÆ÷ÕâÖÖ´ÓÉÏÏÂÎÄÍÆ¶Ï±äÁ¿ÀàÐ͵ÄÄÜÁ¦±»³Æ×÷ÀàÐÍÍÆµ¼¡£
ÏÂÃæÂÞÁÐÁËһЩ¾²Ì¬ÀàÐÍ´øÀ´µÄºÃ´¦ £º
ÐÔÄÜ¡ª¡ª·½·¨µ÷ÓÃËٶȸü¿ì£¬ÒòΪ²»ÐèÒªÔÚÔËÐÐʱ²ÅÀ´Åжϵ÷ÓõÄÊÇÄĸö·½·¨¡£
¿É¿¿ÐÔ¡ª¡ª±àÒëÆ÷ÑéÖ¤Á˳ÌÐòµÄÕýÈ·ÐÔ£¬Òò¶øÔËÐÐʱ±ÀÀ£µÄ¸ÅÂʸüµÍ¡£
¿Éά»¤ÐÔ¡ª¡ªÄ°Éú´úÂë¸üÈÝÒ×ά»¤£¬ÒòΪÄã¿ÉÒÔ¿´µ½´úÂëÖÐÓõ½µÄ¶ÔÏóµÄÀàÐÍ¡£
¹¤¾ßÖ§³Ö¡ª¡ª¾²Ì¬ÀàÐÍʹ IDE ÄÜÌṩ¿É¿¿µÄÖØ¹¹¡¢¾«È·µÄ´úÂ벹ȫÒÔ¼°ÆäËû ÌØÐÔ¡£
µÃÒæÓÚ Kotlin ¶ÔÀàÐÍÍÆµ¼µÄÖ§³Ö£¬Äã²»ÔÙÐèÒªÏÔʽµØÉùÃ÷ÀàÐÍ£¬Òò´Ë´ó²¿·Ö¹Ø ÓÚ¾²Ì¬ÀàÐ͵ĶîÍâÈß³¤´úÂëÒ²¾Í²»¸´´æÔÚÁË¡£
µ±Äã¼ìÊÓ Kotlin ÀàÐÍϵͳµÄϸ½Úʱ£¬Äã»á·¢ÏÖÐí¶àÊìϤµÄ¸ÅÄî¡£Àà¡¢½Ó¿ÚÒÔ¼° ·ºÐÍºÍ Java
·Ç³£½Ó½ü£¬ËùÒÔ´ó²¿·ÖµÄ Java ֪ʶ¿ÉÒÔºÜÈÝÒ×µØ×ªÒƵ½ Kotlin¡£È»¶ø£¬ Ò²»áÓÐһЩиÅÄî³öÏÖ¡£
ÆäÖÐ×îÖØÒªµÄ¸ÅÄîÊÇ Kotlin ¶Ô¿É¿ÕÀàÐ͵ÄÖ§³Ö£¬Í¨¹ýÔÚ±àÒëÆÚ¼ì²â¿ÉÄÜ´æÔÚµÄ ¿ÕÖ¸ÕëÒì³££¬ËüÈÃÄã¿ÉÒÔд³ö¸ü¿É¿¿µÄ³ÌÐò¡£
ÁíÒ»¸ö Kotlin ÀàÐÍϵͳµÄиÅÄîÊǶԺ¯ÊýÀàÐ͵ÄÖ§³Ö¡£Òª¸ãÇå³þÕâÒ»µã£¬ÎÒÃÇ ÏÈÒªÁ˽⺯Êýʽ±à³ÌµÄÖ÷Ҫ˼Ï룬ÒÔ¼°
Kotlin ÊÇÈçºÎÖ§³ÖÕâÖÖ±à³Ì·ç¸ñµÄ¡£
º¯ÊýʽºÍÃæÏò¶ÔÏó
×÷Ϊһ¸ö Java ¿ª·¢Õߣ¬ÄãÒ»¶¨¶ÔÃæÏò¶ÔÏó±à³ÌµÄºËÐĸÅÄîÀÃÊìÓÚÐØ£¬µ«º¯Êýʽ ±à³Ì¶ÔÄãÀ´ËµÈ´¿ÉÄܺÜÐÂÏÊ¡£º¯Êýʽ±à³ÌµÄºËÐĸÅÄîÈçÏÂ
£º
Í·µÈº¯Êý¡ª¡ª°Ñº¯Êý£¨Ò»Ð¡¶ÎÐÐΪ£©µ±×÷ֵʹÓ㬿ÉÒÔÓñäÁ¿±£´æËü£¬°ÑËü µ±×÷²ÎÊý´«µÝ£¬»òÕßµ±×÷ÆäËûº¯ÊýµÄ·µ»ØÖµ¡£
²»¿É±äÐÔ¡ª¡ªÊ¹Óò»¿É±ä¶ÔÏó£¬Õâ±£Ö¤ÁËËüÃǵÄ״̬ÔÚÆä´´½¨Ö®ºó²»ÄÜÔÙ±ä »¯¡£
ÎÞ¸±×÷Ó᪡ªÊ¹ÓõÄÊÇ´¿º¯Êý¡£´ËÀຯÊýÔÚÊäÈëÏàͬʱ»á²úÉúͬÑùµÄ½á¹û£¬ ²¢ÇÒ²»»áÐÞ¸ÄÆäËû¶ÔÏóµÄ״̬£¬Ò²²»»áºÍÍâÃæµÄÊÀ½ç½»»¥¡£
º¯Êýʽ±à³Ì·ç¸ñµÄ´úÂëÄܸøÄã´øÀ´Ê²Ã´ºÃ´¦ ? Ê×ÏÈ£¬¼ò½à¡£º¯Êýʽ·ç¸ñµÄ´úÂë ±ÈÏàÓ¦µÄÃüÁîʽ·ç¸ñµÄ´úÂë¸üÓÅÑÅ¡¢¸ü¼òÁ·£¬ÒòΪ°Ñº¯Êýµ±×÷Öµ¿ÉÒÔÈÃÄã»ñµÃ¸üÇ¿
´óµÄ³éÏóÄÜÁ¦£¬´Ó¶ø±ÜÃâÖØ¸´´úÂë¡£
¼ÙÉèÄãÓÐÁ½¶ÎÀàËÆµÄ´úÂ룬ʵÏÖÏàËÆµÄÈÎÎñ£¨ÀýÈ磬ÔÚ¼¯ºÏÖÐѰÕÒÒ»¸öÆ¥ÅäµÄ ÔªËØ£©µ«¾ßÌåϸ½ÚÂÔÓв»Í¬£¨ÈçºÎÅжÏÔªËØÊÇÆ¥ÅäµÄ£©¡£¿ÉÒÔÇáÒ׵ؽ«Õâ¶ÎÂß¼Öй«
¹²µÄ²¿·ÖÌáÈ¡µ½Ò»¸öº¯ÊýÖУ¬²¢½«ÆäËû²»Í¬µÄ²¿·Ö×÷Ϊ²ÎÊý´«µÝ¸øËü¡£ÕâЩ²ÎÊý±¾ÉíÒ²ÊǺ¯Êý£¬µ«Äã¿ÉÒÔʹÓÃÒ»ÖÖ¼ò½àµÄÓï·¨À´±íʾÕâЩÄäÃûº¯Êý£¬Ëü±»³Æ×÷
lambda ±í´ïʽ £º

º¯Êýʽ±à³Ì·ç¸ñµÄ´úÂë´øÀ´µÄµÚ¶þ¸öºÃ´¦ÊǶàḬ̈߳²È«¡£¶àÏ̳߳ÌÐòÖÐ×î´óµÄ´íÎóÀ´Ô´Ö®Ò»¾ÍÊÇ£¬ÔÚûÓвÉÓÃÊʵ±Í¬²½»úÖÆµÄÇé¿öÏ£¬ÔÚ²»Í¬µÄÏß³ÌÉÏÐÞ¸Äͬһ·ÝÊý¾Ý¡£Èç¹ûÄãʹÓõÄÊDz»¿É±äÊý¾Ý½á¹¹ºÍ´¿º¯Êý£¬¾ÍÄܱ£Ö¤ÕâÑù²»°²È«µÄÐ޸ĸù
±¾²»»á·¢Éú£¬Ò²¾Í²»ÐèÒª¿¼ÂÇΪÆäÉè¼Æ¸´ÔÓµÄͬ²½·½°¸¡£
×îºó£¬º¯Êýʽ±à³ÌÒâζ×ŲâÊÔ¸ü¼ÓÈÝÒס£Ã»Óи±×÷Óõĺ¯Êý¿ÉÒÔ¶ÀÁ¢µØ½øÐвâ ÊÔ£¬ÒòΪ²»ÐèҪд´óÁ¿µÄÉèÖôúÂëÀ´¹¹ÔìËüÃÇËùÒÀÀµµÄÕû¸ö»·¾³¡£
Ò»°ãÀ´Ëµ£¬º¯Êýʽ±à³Ì·ç¸ñ¿ÉÒÔÔÚÈκαà³ÌÓïÑÔÖÐʹÓ㨰üÀ¨ Java£©£¬ËüµÄºÜ ¶àÖ÷ÕŶ¼±»ÈÏΪÊÇÁ¼ºÃµÄ±à³Ì·ç¸ñ¡£È»¶ø²¢²»ÊÇËùÓеÄÓïÑÔ¶¼ÌṩÁËÓï·¨ºÍ¿âÖ§³Ö£¬
ÈÃÎÒÃÇ¿ÉÒÔºÁ²»·ÑÁ¦µØÊ¹ÓÃÕâÖÖ·ç¸ñ¡£ÀýÈ磬Java 8 ֮ǰµÄ Java °æ±¾¶¼È±ÉÙÁËÕâÖÖ Ö§³Ö¡£Kotlin
ÓµÓзḻµÄÌØÐÔ¼¯´ÓÒ»¿ªÊ¼¾ÍÖ§³Öº¯Êýʽ±à³Ì·ç¸ñ£¬°üÀ¨ £º
º¯ÊýÀàÐÍ£¬ÔÊÐíº¯Êý½ÓÊÜÆäËûº¯Êý×÷Ϊ²ÎÊý£¬»òÕß·µ»ØÆäËûº¯Êý¡£
lambda ±í´ïʽ£¬ÈÃÄãÓÃ×îÉÙµÄÑù°å´úÂë·½±ãµØ´«µÝ´úÂë¿é
Êý¾ÝÀ࣬ÌṩÁË´´½¨²»¿É±äÖµ¶ÔÏóµÄ¼òÃ÷Óï·¨
±ê×¼¿âÖаüÀ¨Á˷ḻµÄ API ¼¯ºÏ£¬ÈÃÄãÓú¯Êýʽ±à³Ì·ç¸ñ²Ù×÷¶ÔÏóºÍ¼¯ºÏ
Kotlin ÔÊÐíÄãʹÓú¯Êýʽ±à³Ì·ç¸ñµ«²¢Ã»ÓÐÇ¿ÖÆÄãʹÓÃËü¡£µ±ÄãÐèÒªµÄʱºò£¬ ¿ÉÒÔʹÓÿɱäÊý¾Ý£¬Ò²¿ÉÒÔ±àд´ø¸±×÷Óõĺ¯Êý£¬¶øÇÒ²»ÐèÒªÌø¹ýÈκζàÓàµÄ²½Öè¡£
È»ºó£¬ºÁÎÞÒÉÎʵÄÊÇ£¬ÔÚ Kotlin ÖÐʹÓûùÓÚ½Ó¿ÚºÍÀà²ã´Î½á¹¹µÄ¿â¾ÍÏñ Java Ò»Ñù¼ò µ¥¡£µ±±àд
Kotlin ´úÂëµÄʱºò£¬¿ÉÒÔ½áºÏʹÓÃÃæÏò¶ÔÏó±à³ÌºÍº¯Êýʽ±à³Ì·ç¸ñ£¬²¢ ʹÓÃ×îºÏÊʵŤ¾ßÀ´¶Ô¸¶Ø½´ý½â¾öµÄÎÊÌâ¡£
Ãâ·Ñ²¢¿ªÔ´
Kotlin ÓïÑÔ£¨°üÀ¨±àÒëÆ÷¡¢¿âºÍËùÓÐÏà¹Ø¹¤¾ß£©ÊÇÍêÈ«¿ªÔ´µÄ£¬²¢ÇÒ¿ÉÒÔ×ÔÓÉʹÓᣠËü²ÉÓà Apache
2 Ðí¿ÉÖ¤ £»Æä¿ª·¢¹ý³ÌÍêÈ«¹«¿ªÔÚ GitHub (http://github.com/jetbrains/
kotlin) ÉÏ£¬²¢ÇÒ»¶ÓÀ´×ÔÉçÇøµÄ¹±Ïס£Èç¹ûÄãÒª¿ª·¢ Kotlin Ó¦ÓóÌÐò£¬ÓÐÈýÖÖ¿ªÔ´ IDE
¹©ÄãÑ¡Ôñ £ºIntelliJ IDEA Community2 °æ¡¢Android Studio ÒÔ¼°
Eclipse£¬ËüÃǶ¼Íê ȫ֧³Ö Kotlin£¨µ±È»£¬IntelliJ IDEA Ultimate
Ò²Ö§³Ö Kotlin¡££©
ÏÖÔÚÄãÃ÷°×ÁË Kotlin ÊÇʲôÓïÑÔ£¬ÈÃÎÒÃÇ¿´¿´ Kotlin ÔÚ¾ßÌåµÄʵ¼ÊÓ¦ÓÃÖÐ»á¸øÄã´øÀ´ÄÄЩºÃ´¦¡£
KotlinÓ¦ÓÃ
ÈçǰËùÊö£¬Kotlin ʹÓõÄÁ½¸öÖ÷ÒªµÄÁìÓòÊÇ·þÎñÆ÷¶ËºÍ Android ¿ª·¢¡£½ÓÏÂÀ´ ÎÒÃǷֱ𿴿´ÕâÁ½¸öÁìÓò£¬ÒÔ¼°ÎªÊ²Ã´
Kotlin ·Ç³£ÊʺÏËüÃÇ¡£
·þÎñÆ÷¶ËµÄ Kotlin
·þÎñÆ÷¶Ë±à³ÌÊÇÒ»¸ö·Ç³£´óµÄ¸ÅÄËü°üº¬ÁËËùÓÐÏÂÁеÄÓ¦ÓóÌÐòÀàÐÍÉõÖÁ¸ü¶à £º
·µ»Ø HTML Ò³Ãæ¸øä¯ÀÀÆ÷µÄ Web Ó¦ÓóÌÐò
ͨ¹ý HTTP ±©Â¶ JSON API µÄÒÆ¶¯Ó¦Óúó¶Ë·þÎñ
ͨ¹ý RPC ÐÒ黥ÏàͨÐŵÄ΢·þÎñ
¶àÄêÒÔÀ´£¬¿ª·¢ÕßÒ»Ö±ÔÚ¹¹½¨ÕâЩÀàÐ͵ÄÓ¦Ó㬲¢ÇÒ»ýÀÛÁË´óÁ¿µÄ¿ò¼ÜºÍ¼¼Êõ À´°ïÖúËûÃǹ¹½¨ÕâЩӦÓá£ÕâЩӦÓÃͨ³£²¢²»ÊǹÂÁ¢µØ¿ª·¢»òÕß´ÓÁ㿪ʼµÄ£¬ËüÃÇ
¼¸ºõ×ÜÊǶÔÏÖÓеÄϵͳ½øÐÐÀ©Õ¹¡¢¸Ä½ø»òÕßÌæ»»£¬ÐµĴúÂë±ØÐëºÍϵͳÖÐÏÖÓв¿·Ö ½øÐм¯³É£¬¶øÕâЩ²¿·Ö¿ÉÄܺܶàÄê֮ǰ¾Íд³ÉÁË¡£
ÕâÖÖ»·¾³Ï Kotlin µÄÒ»´óÓÅÊÆ¾ÍÊÇËüÓëÏÖÓÐµÄ Java ´úÂëÎÞ·ìµÄ»¥²Ù×÷ÐÔ¡£ÎÞÂÛ ÊÇÒª±àдһ¸öȫеÄ×é¼þ»¹ÊÇÒÆÖ²Ò»¸öÏÖÓзþÎñµÄ´úÂ룬Kotlin
¶¼ºÁÎÞѹÁ¦¡£²»¹Ü ÄãÐèÒªÔÚ Kotlin Öм̳РJava À࣬»¹ÊÇÒÔijÖÖ·½Ê½×¢½âÒ»¸öÀàµÄ·½·¨»ò×ֶΣ¬¶¼²»»á
Óöµ½ÈκÎÎÊÌâ¡£Ëü´øÀ´µÄÓŵãÊÇϵͳµÄ´úÂë»á¸ü½ô´Õ¡¢¸ü¿É¿¿¡¢¸üÒ×ÓÚά»¤¡£
Óë´Ëͬʱ£¬Kotlin »¹ÒýÈëÁËÐí¶àÓÃÓÚ¿ª·¢ÕâÀàϵͳµÄм¼Êõ¡£ÀýÈ磬¶Ô¹¹½¨Æ÷ ģʽµÄÖ§³ÖÈÃÄã¿ÉÒÔʹÓøü¼ò½àµÄÓï·¨À´´´½¨ÈκζÔÏóͼ£¬Í¬Ê±±£ÁôÁËÓïÑÔÖÐÈ«Ì×
µÄ³éÏó»úÖÆºÍ´úÂëÖØÓù¤¾ß¡£
Õâ¸öÌØÐÔµÄÒ»¸ö×î¼òµ¥µÄÓÃÀý¾ÍÊÇ HTML Éú³É¿â£¬Ëü¿ÉÒÔ°ÑÒ»¸öÍⲿģ°åÓïÑÔ Ìæ»»³É¼ò½àÇÒÍêÈ«ÀàÐͰ²È«µÄ½â¾ö·½°¸¡£ÕâÀïÓÐÒ»¸öÀý×Ó
£º

¿ÉÒÔÇáËɵذÑÓ³Éäµ½HTML±êÇ©µÄº¯ÊýºÍ³£¹æµÄKotlinÓïÑԽṹ×éºÏÆðÀ´¡£Äã²»ÔÙÐèҪʹÓÃÒ»ÃŶÀÁ¢µÄÄ£°åÓïÑÔ£¬Ò²²»ÐèҪѧϰеÄÓï·¨£¬½ö½öʹÓÃÑ»·¾Í¿ÉÒÔÉú³ÉHTMLÒ³Ãæ¡£
ÁíÒ»¸öÄÜÓÃÉÏKotlin¸É¾»ºÍ¼ò½àµÄDSLµÄÓÃÀýÊdz־û¯¿ò¼Ü¡£ÀýÈ磬Exposed ¿ò¼Ü£¨https://github.com/jetbrains/exposed£©¾ÍÌṩÁËÒ×¶ÁµÄ
DSL£¬¿ÉÒÔÍêȫʹÓà Kotlin ´úÂëÀ´ÃèÊö SQL Êý¾Ý¿âµÄ½á¹¹²¢Ö´Ðвéѯ²Ù×÷£¬²¢ÇÒÓÐÈ«ÃæµÄÀàÐͼì²é¡£ÏÂ
ÃæÕâ¸öСÀý×ÓչʾÁË¿ÉÐеÄ×ö·¨ £º

Android É쵀 Kotlin
Ò»¸öµäÐ͵ÄÒÆ¶¯Ó¦ÓúÍÒ»¸öµäÐÍµÄÆóÒµÓ¦ÓÃÍêÈ«²»Í¬¡£Ëü¸üС£¬¸üÉÙµØÒÀÀµÓë ÏÖÓеĴúÂ뼯³É£¬Í¨³£ÐèÒª¿ìËÙ½»¸¶£¬Í¬Ê±ÐèÒª±£Ö¤ÔÚ´óÁ¿µÄÉ豸ÉÏÄܹ»¿É¿¿µØÔË
ÐС£ÕâÀàÏîÄ¿ Kotlin Ò²ÄÜʤÈΡ£
Kotlin µÄÓïÑÔÌØÐÔ£¬¼ÓÉÏÖ§³Ö Android ¿ò¼ÜµÄÌØÊâ±àÒëÆ÷²å¼þ£¬Èà Android µÄ
¿ª·¢ÌåÑé±äµÃ¸ßЧºÍÓäÔᣳ£¼ûµÄ¿ª·¢ÈÎÎñ£¬±ÈÈç¸ø¿Ø¼þÌí¼Ó¼àÌýÆ÷»òÊǰѲ¼¾ÖÔª ËØ°ó¶¨µ½×ֶΣ¬¿ÉÒÔÓøüÉٵĴúÂëÍê³É£¬ÓÐʱÉõÖÁ¸ù±¾²»ÓÃдÈκδúÂ루±àÒëÆ÷»á°ïÄãÉú³É£©¡£Í¬ÑùÓÉ
Kotlin ÍŶӴòÔìµÄ¿â Anko£¨https://github.com/kotlin/anko£©¸øÐí¶à±ê×¼
Android API Ìí¼ÓÁË Kotlin ÓѺõÄÊÊÅäÆ÷£¬½øÒ»²½ÌáÉýÁË Android µÄ¿ª·¢ÌåÑé¡£
ÏÂÃæÊÇ Anko µÄÒ»¸ö¼òµ¥Àý×Ó£¬¿ÉÒÔÆ·³¢µ½Ê¹Óà Kotlin ½øÐÐ Android ¿ª·¢µÄ×Ìζ¡£Ö»Òª°ÑÕâ¶Î´úÂë·ÅÔÚÒ»¸ö
Activity ÖУ¬Ò»¸ö¼òµ¥µÄ Android Ó¦ÓþÍ×öºÃÁË£¡

ʹÓÃKotlin´øÀ´µÄÁíÒ»ÓÅÊÆ¾ÍÊǸüºÃµÄÓ¦Óÿɿ¿ÐÔ¡£Èç¹ûÄãÓпª·¢AndroidÓ¦ÓõľÑ飬ÄãÒ»¶¨¶Ô¡°Unfortunately,
Process Has Stopped¡±¶Ô»°¿òÉî¶ñÍ´¾ø¡£Èç¹ûÄãµÄÓ¦ÓÃÓÐδ´¦ÀíµÄÒì³££¬Õâ¸ö¶Ô»°¿ò¾Í»á³öÏÖ£¬¶øÕâÖÖÒì³£Ò»°ãÊÇNullPointerException£¨¿ÕÖ¸ÕëÒì³££©¡£KotlinµÄÀàÐÍϵͳͨ¹ý¾«È·µØ¸ú×ÙnullÖµ£¬´ó´ó¼õÇáÁË¿ÕÖ¸ÕëÒì³£ÎÊÌâ´øÀ´µÄѹÁ¦¡£´ó²¿·ÖJavaÖлᵼÖÂNullPointerExceptionµÄ´úÂëÔÚKotlinÖÐÎÞ·¨±àÒë³É¹¦£¬ÒÔÈ·±£ÕâЩ´íÎóÔÚÓ¦Óõ½´ïÓû§ÊÖÖÐ֮ǰµÃµ½ÐÞÕý¡£
ͬʱ£¬ÓÉÓÚ Kotlin ÍêÈ«¼æÈÝ Java 6£¬Ê¹ÓÃËü²¢²»»á´øÀ´ÈκÎеıàÒëÎÊÌâ¡£Äã ¿ÉÒÔÏíÊÜËùÓÐ
Kotlin µÄ¿áìÅÐÂÌØÐÔ£¬¶øÄãµÄÓû§ÈÔÈ»¿ÉÒÔÔÚËûÃǵÄÉ豸ÉÏʹÓÃÄãµÄ Ó¦Ó㬼´Ê¹ËûÃǵÄÉ豸²¢Ã»ÓÐÔËÐÐ×îа汾µÄ
Android ϵͳ¡£
˵µ½ÐÔÄÜ£¬Kotlin ҲûÓдøÀ´ÈκθºÃæÓ°Ïì¡£Kotlin ±àÒëÆ÷Éú³ÉµÄ´úÂëÖ´ÐÐÆð À´ºÍÆÕͨµÄ
Java ´úÂëЧÂÊÒ»Ñù¡£Kotlin ʹÓõÄÔËÐÐʱ£¨¿â£©Ìå»ýÏ൱С£¬ËùÒÔ±àÒë ³öÀ´µÄÓ¦ÓóÌÐò°üÌå»ýÒ²²»»áÔö¼Ó¶àÉÙ¡£µ±ÄãʹÓÃ
lambda µÄʱºò£¬ËüÃǻᱻÐí¶à Kotlin ±ê×¼¿âº¯ÊýÄÚÁª¡£lambda µÄÄÚÁªÈ·±£²»»á´´½¨Ð¶ÔÏó£¬Òò´ËÓ¦ÓóÌÐòÒ²²»±Ø
ÈÌÊܶîÍâµÄ GC ÔÝÍ£¡£
¿´¹ýÁËºÍ Java Ïà±È Kotlin µÄÓÅÊÆÖ®ºó£¬ÎÒÃÇÔÙÀ´¿´¿´ Kotlin µÄÉè¼ÆÕÜѧ¡ª¡ªÄÇ
Щ°Ñ Kotlin ºÍÆäËûÃæÏò JVM µÄÏÖ´úÓïÑÔÇø·Ö¿ªµÄÖ÷ÒªÌØÐÔ¡£
KotlinµÄÉè¼ÆÕÜѧ
µ±Ì¸Æð Kotlin µÄʱºò£¬ÎÒÃÇϲ»¶ËµËüÊÇÒ»ÃÅÎñʵ¡¢¼ò½àºÍ°²È«µÄÓïÑÔ£¬×¨×¢ÓÚ »¥²Ù×÷ÐÔ¡£ÕâÀïµÄÿ¸ö´ÊÓ﾿¾¹ÊÇʲôº¬Ò壿ÎÒÃÇÖð¸öÀ´¿´¿´¡£
Îñʵ
Îñʵ¶ÔÎÒÃÇÀ´ËµÒâζ×ÅÒ»¼þ¼òµ¥µÄÊÂÇé £ºKotlin ¾ÍÊÇÒ»ÃÅÉè¼Æ³öÀ´½â¾öÏÖʵÊÀ½çÎÊÌâµÄʵÓÃÓïÑÔ¡£ËüµÄÉè¼Æ»ùÓÚ¶àÄê´´½¨´óÐÍϵͳµÄ¹¤Òµ¾Ñ飬ËüµÄÌØÐÔÒ²ÊÇΪ½â¾öÐí¶àÈí¼þ¿ª·¢ÕßÓöµ½µÄ³¡¾°¶øÑ¡ÔñµÄ¡£´ËÍ⣬À´×Ô
JetBrains ÄÚ²¿ºÍÉçÇøµÄ¿ª·¢ÕßÒѾʹÓà Kotlin µÄÔçÆÚ°æ±¾ºÜ¶àÄ꣬ËûÃǵķ´À¡Ò²±»ÈںϽøÁËÕâÃÅÓïÑÔ¹«¿ª·¢²¼µÄ°æ±¾ÖС£ËùÒÔÎÒÃDzÅÄÜ×ÔÐŵØËµ£¬Kotlin
Äܹ»°ïÖú½â¾öʵ¼ÊÏîÄ¿µÄÎÊÌâ¡£
Kotlin Ò²²»ÊÇÒ»ÃÅÑо¿ÐÔµÄÓïÑÔ¡£ÎÒÃÇûÓÐÊÔͼÌáÉý±à³ÌÓïÑÔÉè¼ÆÁìÓòĿǰµÄ¼¼Êõˮƽ£¬Ò²Ã»Óг¢ÊÔ̽Ë÷¼ÆËã»ú¿ÆÑ§µÄ´´ÐÂÀíÄî¡£·´¶ø£¬ÎÒÃǻᾡ¿ÉÄܵØÒÀÀµÒѾ³öÏÖÔÚÆäËû±à³ÌÓïÑÔÖв¢±»Ö¤Ã÷Êdzɹ¦µÄÄÇÐ©ÌØÐԺͽâ¾ö·½°¸¡£Õâ½µµÍÁËÓïÑԵĸ´ÔÓÐÔ£¬Ò²ÈÃËü¸üÈÝÒ×ѧϰ£¬ÒòΪÄã¿ÉÒÔÑöÕÌÄÇЩÊìϤµÄ¸ÅÄî¡£
´ËÍ⣬Kotlin ҲûÓÐÇ¿ÖÆÊ¹ÓÃijÖÖÌØ¶¨µÄ±à³Ì·ç¸ñºÍ·¶Ê½¡£µ±Ä㿪ʼѧϰÕâÃÅÓïÑÔµÄʱºò£¬¿ÉÒÔʹÓÃÊìϤµÄÀ´×Ô
Java ¾ÑéµÄ·ç¸ñ¡£È»ºó£¬Äã»á½¥½¥µØ·¢ÏÖ¸ü¶àÇ¿´óµÄ Kotlin ÌØÐÔ£¬²¢Ñ§Ï°°ÑËüÃÇÓ¦Óõ½ÄãµÄ´úÂëÖУ¬ÈôúÂë¸ü¼ò½à¡¢¸ü·ûºÏÓïÑÔϰ¹ß¡£
Kotlin µÄʵÓÃÖ÷ÒåµÄÁíÒ»¸öÖØÒªÌåÏÖÊǶÔÓÚ¹¤¾ßµÄרע¡£¶Ô¿ª·¢ÕßµÄÉú²úÁ¦¶øÑÔ£¬Ò»¸öÖÇÄܵĿª·¢»·¾³ºÍÒ»ÃÅÉè¼ÆÁ¼ºÃµÄÓïÑÔͬÑùÖØÒª¡£Òò´Ë£¬ÊºóÔÙÀ´¿¼ÂǶÔ
IDE ½øÐÐÖ§³Ö¾ÍÊÇÂíºóÅÚ¡£¶ø Kotlin µÄÇé¿öÊÇ£¬IntelliJ IDEA µÄ²å¼þÊǺͱàÒëÆ÷ͬ²½¿ª·¢µÄ£¬²¢ÇÒÔÚÉè¼ÆÓïÑÔÌØÐÔʱʼÖÕÀμÇ×ŶԹ¤¾ßµÄÖ§³Ö¡£
IDE Ö§³Ö¶Ô°ïÖúÄã̽Ë÷ Kotlin µÄÌØÐÔÒ²·¢»Ó×ÅÖØÒª×÷Óá£Ðí¶àÇé¿öÏ£¬¹¤¾ß»á·¢ÏÖÄÇЩ¿ÉÒÔÓøü¼ò½àµÄ½á¹¹À´Ìæ»»µÄͨÓôúÂëģʽ£¬²¢¸øÄãÌṩÐÞÕýÕâЩ´úÂëµÄÑ¡Ôñ¡£Í¨¹ýÑо¿×Ô¶¯ÐÞÕýËùʹÓõÄÓïÑÔÌØÐÔ£¬Äã¾ÍÄÜѧϰÈçºÎÔÚ×Ô¼ºµÄ´úÂëÖÐÓ¦ÓÃÕâÐ©ÌØÐÔ¡£
¼ò½à
ºÍ±àддúÂëÏà±È£¬¿ª·¢ÈËÔ±»áºÄ·Ñ¸ü¶àµÄʱ¼äÀ´ÔĶÁÏÖÓдúÂ룬ÕâÒѾÊdz£Ê¶¡£ÏëÏóÒ»ÏÂÄãËùÔÚµÄÍŶÓÕýÔÚ¿ª·¢Ò»¸ö´óÏîÄ¿£¬¶øÄãµÄ¹¤×÷ÊÇÌí¼ÓÒ»¸öÐÂÌØÐÔ»òÕßÐÞ¸Ä
bug¡£µÚÒ»²½»á¸Éʲô£¿Ê×ÏÈÒªÕÒµ½ÐèÒª¸Ä±äµÄÄǶδúÂ룬Ȼºó²ÅÄÜʵÏÖÄãµÄÐ޸ġ£ÒªÔĶÁºÜ¶à´úÂë²ÅÄÜÖªµÀÄãÒª×öʲô¡£ÕâЩ´úÂë¿ÉÄÜ×î½ü¸ÕÍê³É£¬ÓÉÄãµÄͬÊ»òÕßÊÇÄÇЩÒѾÀ뿪µÄͬʱàд£¬»òÕßÊÇÄã×Ô¼ººÜ¾Ã֮ǰдºÃµÄ¡£Ö»Óи㶮ÁËÖÜΧµÄ´úÂëÄã²ÅÄÜ×ö³öÕýÈ·µÄ¸Ä¶¯¡£
´úÂëÔ½¼òµ¥Ô½¼ò½à£¬Äã¾ÍÄÜÔ½¿ìµØÁ˽ⷢÉúÁËʲô¡£µ±È»£¬Á¼ºÃµÄÉè¼ÆºÍ´ïÒâµÄÃüÃûÔÚÕâÀïÆð×ÅÖØÒªµÄ×÷Óᣵ«ÓïÑÔµÄÑ¡Ôñ¼°Æä¼ò½àÐÔÒ²ºÜÖØÒª¡£Èç¹ûÓïÑÔµÄÓï·¨ÇåÎúµØ±í´ïÁ˱»ÔĶÁµÄ´úÂëµÄÒâͼ£¬Ã»ÓÐÒòΪ´ï³ÉÒâͼËùÐèµÄÑù°å´úÂë¶ø»ÞɬÄѶ®£¬ÄÇôËü¾ÍÊǼò½àµÄ¡£
ÔÚ Kotlin ÖУ¬ÎÒÃÇŬÁ¦µØ±£Ö¤ÄãдµÄ´úÂë¶¼¾ßÓÐʵ¼ÊµÄÒâÒ壬¶ø²»Êǽö½öΪÁËÂú×ã´úÂë½á¹¹µÄÐèÒª¡£Ðí¶à±ê×¼µÄ
Java Ñù°å´úÂ룬ÀýÈç getter¡¢setter ÒÔ¼°½«¹¹Ôì·½·¨µÄ²ÎÊý¸³Öµ¸ø×ֶεÄÂß¼£¬ÔÚ Kotlin
Öж¼ÊÇÒþʽµÄ£¬²¢²»»áʹÄãµÄÔ´´úÂë±äµÃ»ìÂÒ¡£
ÁíÍâÒ»¸öµ¼Ö´úÂë±äµÃ²»±ØÒªµÄÈß³¤µÄÔÒòÊDZàдÏÔʽµÄ´úÂëÀ´Íê³É³£¼ûµÄÈÎÎñ£¬±ÈÈ綨λ¼¯ºÏÖеÄÔªËØ¡£ºÍÐí¶àÆäËûÏÖ´úÓïÑÔÒ»Ñù£¬Kotlin
ÓзḻµÄ±ê×¼¿â£¬ÈÃÄãÓÿⷽ·¨µ÷ÓÃÀ´´úÌæÕâЩÈß³¤Öظ´µÄ´úÂë¶Î¡£Kotlin ¶Ô lambda µÄÖ§³Ö£¬ÈÃС´úÂë¿é¿ÉÒÔÇáËɵش«µÝ¸ø¿âº¯Êý¡£ÕâÈÃÄã¿ÉÒ԰ѹ«¹²µÄÄDz¿·Ö´úÂëÈ«²¿·â×°ÔÚ¿âÖУ¬¶øÔÚÓû§´úÂëÖнö±£ÁôÌØ¶¨µÄÕë¶ÔÈÎÎñµÄÄDz¿·Ö¡£
Óë´Ëͬʱ£¬Kotlin ²¢Ã»Óг¢ÊÔ°ÑÔ´´úÂëѹËõµ½×îС¿ÉÄܵij¤¶È¡£ÀýÈ磬¼´Ê¹ Kotlin Ö§³ÖÔËËã·ûÖØÔØ£¬Óû§Ò²²»Äܶ¨Òå×Ô¼ºµÄÔËËã·û¡£Òò´Ë£¬¿â¿ª·¢Õß²»ÄÜÓÃÉñÃØµÄ±êµã·ûºÅÐòÁÐÀ´´úÌæ·½·¨Ãû×Ö¡£µ¥´Ê±È±êµã·ûºÅÏÔÈ»¸üÒ×¶Á£¬Ò²¸üÈÝÒ×ÕÒµ½Ïà¹ØµÄÎĵµ¡£
Ô½¼ò½àµÄ´úÂëдÆðÀ´»¨µÄʱ¼äÔ½¶Ì£¬¸üÖØÒªµÄÊÇ£¬¶ÁÆðÀ´ºÄ·ÑµÄʱ¼äÒ²¸ü¶Ì¡£Õâ»áÌá¸ßÄãµÄÉú²úÁ¦²¢ÈÃÄã¸ü¿ìµØ´ï³ÉÄ¿±ê¡£
°²È«
ͨ³££¬ÎÒÃÇ˵һÃűà³ÌÓïÑÔÊǰ²È«µÄ£¬ÎÒÃǵÄÒâ˼ÊÇËüµÄÉè¼Æ¿ÉÒÔ·ÀÖ¹³ÌÐò³öÏÖijЩÀàÐ͵ĴíÎó¡£µ±È»£¬Õâ²¢²»Òâζמø¶ÔµÄ¸ßÖÊÁ¿£¬Ã»ÓÐÈκÎÓïÑÔ¿ÉÒÔ×èÖ¹ËùÓпÉÄܳöÏֵĴíÎó¡£´ËÍ⣬Ԥ·À´íÎóÊÇÐèÒª³É±¾µÄ¡£ÐèÒª¸ø±àÒëÆ÷Ìṩ³ÌÐòÓйØÔ¤ÆÚ²Ù×÷¸ü¶àµÄÐÅÏ¢£¬ÕâÑù±àÒëÆ÷²ÅÄÜÑéÖ¤ÕâЩÐÅÏ¢ÊÇ·ñºÍ³ÌÐòµÄ¹¦ÄÜÆ¥Åä¡£Òò´Ë£¬ÄãÒªÔڵõ½µÄ°²È«¼¶±ðºÍÒòΪÔö¼Ó¸ü¶àϸ½Ú×¢½â¶øÔì³ÉµÄÉú²úÁ¦Ëðʧ֮¼äȨºâÀû±×¡£
ʹÓà Kotlin£¬ÎÒÃÇÊÔͼʵÏÖ±È Java ¸ü¸ßµÄ°²È«¼¶±ð£¬Í¬Ê±±£³Ö¸üµÍµÄ×ÜÌå³É±¾¡£ÔÚ JVM
ÉÏÔËÐÐÒѾÌṩÁËÐí¶àµÄ°²È«±£Ö¤ £ºÀýÈ磬Äڴ氲ȫ£¬·ÀÖ¹ÁË»º³åÇøÒç³öÒÔ¼°ÆäËû´íÎóµÄ¶¯Ì¬ÄÚ´æ·ÖÅäÔì³ÉµÄÎÊÌâ¡£×÷ÎªÃæÏò
JVM µÄ¾²Ì¬ÀàÐÍÓïÑÔ£¬Kotlin »¹±£Ö¤ÁËÓ¦ÓóÌÐòµÄÀàÐͰ²È«¡£Õâ±ÈʹÓà Java µÄ³É±¾Òª¸üµÍ
£º²»ÐèÒªÖ¸¶¨ËùÓеÄÀàÐÍÉùÃ÷£¬ÒòΪÐí¶àÇé¿öϱàÒëÆ÷»á×Ô¶¯µØÍƶϳöÀàÐÍ¡£
Kotlin Ëù×öµÄ²»Ö¹Õâ Щ£¬ÕâÒâζןü¶àµÄÔ±¾ÔÚÔËÐÐʱʧ°ÜµÄ´íÎóÔÚ±àÒëÆÚµÄ¼ì²éÖоͱ»×èÖ¹ ÁË¡£×îÖØÒªµÄÒ»µãÊÇ£¬Kotlin
ŬÁ¦µØ´ÓÄãµÄ³ÌÐòÖÐÏû³ý NullPointerException¡£Kotlin µÄÀàÐÍϵͳ¸ú×ÙÄÇЩ¿ÉÒÔ»ò²»¿ÉÒÔΪ
null µÄÖµ£¬²¢ÇÒ½ûÖ¹ÄÇЩÔËÐÐʱ¿ÉÄܵ¼Ö NullPointerException µÄ²Ù×÷¡£ÕâËù´øÀ´µÄ¶îÍâµÄ³É±¾ÊǼ«Ð¡µÄ
£º°ÑÀàÐͱê¼ÇΪ¿É¿ÕµÄÖ»ÒªÒ»¸ö×Ö·û£¬¾ÍÊÇÀàÐÍβ²¿µÄÒ»¸öÎʺŠ£º

³ý´ËÖ®Í⣬Kotlin ÌṩÁËÐí¶à±ãÀûµÄ·½·¨À´´¦Àí¿É¿ÕÊý¾Ý¡£Õâ·Ç³£ÓÐÖúÓÚÏûÃðÓ¦ÓóÌÐòµÄ±ÀÀ£¡£
Kotlin ÓÐÖúÓÚ±ÜÃâµÄÁíÒ»ÖÖÒì³£ÀàÐ;ÍÊÇ ClassCastException¡£µ±Äã°ÑÒ» ¸ö¶ÔÏóת»»³ÉÒ»ÖÖÀàÐÍ£¬¶øÃ»ÓÐÊÂÏȼì²éËüÊÇ·ñÊÇÕýÈ·µÄÀàÐÍʱ£¬¾Í»á·¢ÉúÕâ¸öÒì
³£¡£ÔÚ Java ÖУ¬¿ª·¢Õß³£³£Ê¡ÂÔÁËÕâÀà¼ì²é£¬ÒòΪ±ØÐë·´¸´µØÔÚ¼ì²éºÍÆäºóµÄת»» ÖÐдÃ÷ÀàÐÍÃû³Æ¡£ÁíÒ»·½Ã棬Kotlin
Öеļì²éºÍת»»±»×éºÏ³ÉÁËÒ»´Î²Ù×÷ £ºÒ»µ©¼ì ²é¹ýÀàÐÍ£¬²»ÐèÒª¶îÍâµÄת»»¾ÍÄÜÖ±½ÓÒýÓÃÊôÓÚÕâ¸öÀàÐ͵ijÉÔ±¡£ÕâÑù£¬¿ª·¢Õß¾Í
ûÓнè¿ÚÌø¹ý¼ì²é£¬Ò²²»»á¸ø´íÎóÁôÏ¿ɳËÖ®»ú¡£ÏÂÃæÕ¹Ê¾ÁËËüÊÇÈçºÎ¹¤×÷µÄ £º

»¥²Ù×÷ÐÔ
¹ØÓÚ»¥²Ù×÷ ÐÔ£¬ÄãµÄµÚÒ»¸öÎÊÌâ¿ÉÄÜÊÇ £º¡°ÎÒÊDz»ÊÇ¿ÉÒÔ¼ÌÐøÊ¹ÓÃÏÖÓÐµÄ ¿â£¿¡±Kotlin ¸ø³öµÄ»Ø´ðÊÇ
£º¡°µ±È»¿ÉÒÔ¡£¡±ÎÞÂÛÐèҪʹÓÃÄÄÖÖ¿âÌṩµÄ API£¬¶¼¿É ÒÔÔÚ Kotlin ÖÐʹÓÃËüÃÇ¡£¿ÉÒÔµ÷Óà Java
µÄ·½·¨£¬¼Ì³Ð Java µÄÀàºÍʵÏÖ Java µÄ½Ó¿Ú£¬ ÔÚ Kotlin ÀàÉÏÓ¦Óà Java µÄ×¢½â£¬µÈµÈ¡£
ÓëÆäËûһЩ JVM ÓïÑÔ²»Í¬£¬Kotlin ÔÚ»¥²Ù×÷ÐÔÉϸüÉÏÒ»²ãÂ¥£¬Èà Java ´úÂëÒ² ¿ÉÒÔºÁ²»·ÑÁ¦µØµ÷ÓÃ
Kotlin µÄ´úÂë¡£ÎÞÐëÈ¡ÇÉ £ºKotlin µÄÀàºÍ·½·¨¿ÉÒÔÏñ³£¹æµÄ Java ÀàºÍ·½·¨Ò»Ñù±»µ÷Óá£Õâ´øÀ´ÁËÎÞÏÞµÄÁé»îÐÔ£¬ÔÚÏîÄ¿µÄÈκεط½¶¼¿ÉÒÔ»ìºÏ
ʹÓà Java ºÍ Kotlin¡£µ±Äã¸Õ¿ªÊ¼ÔÚ×Ô¼ºµÄ Java ÏîÄ¿ÖÐÒýÈë Kotlin ʱ£¬¿ÉÒÔÔÚ´úÂë¿â
ÖеÄÈÎÒâÒ»¸öÀàÉÏÔËÐÐ Java µ½ Kotlin µÄת»»Æ÷£¬Ê£ÏµĴúÂë²»ÐèÒªÈκÎÐ޸ľͿÉÒÔ ¼ÌÐø±àÒëºÍ¹¤×÷¡£²»¹ÜÄãËùת»»µÄÀàÊÇʲô½ÇÉ«£¬Õâ¶¼ÊÇ¿ÉÐеġ£
ÁíÒ»¸ö Kotlin רעÓÚ»¥²Ù×÷ÐÔµÄÁìÓòÊÇÔÚ×î´ó³Ì¶ÈÉÏʹÓÃÏÖÓÐµÄ Java ¿â¡£ÀýÈ磬 Kotlin
ûÓÐ×Ô¼ºµÄ¼¯ºÏ¿â£¬ËüÍêÈ«ÒÀÀµ Java ±ê×¼¿âÖеÄÀ࣬ʹÓöîÍâµÄº¯ÊýÀ´À©Õ¹ ËüÃÇ£¬ÈÃËüÃÇÔÚ Kotlin
ÖÐÓÃÆðÀ´¸ü·½±ã£¨ÎÒÃÇ»áÔÚ 3.3 ½ÚÖÐÁ˽âÕâÖÖ»úÖÆ¸ü¶àµÄϸ½Ú£©¡£ ÕâÒâζ×ÅÔÚ Kotlin Öе÷ÓÃ
Java API ʱ£¬ÓÀÔ¶²»ÐèÒª°ü×°»òÕßת»»ÕâЩ Java ¶ÔÏ󣬷´ Ö®ÒàÈ»¡£ËùÓÐÕâЩ Kotlin
ÌṩµÄ·á¸»µÄ API ÔÚÔËÐÐʱûÓÐÈκεĶîÍ⿪Ïú¡£
Kotlin ¹¤¾ßÒ²¶Ô¿çÓïÑÔÏîÄ¿ÌṩÁËÈ«ÃæÖ§³Ö¡£Ëü¿ÉÒÔ±àÒëÈÎÒâ»ìºÏµÄ Java ºÍ Kotlin
Ô´Â룬²»¹ÜËüÃÇÖ®¼äÊÇÔõÑù»¥ÏàÒÀÀµµÄ¡£IDE µÄÌØÐÔÒ²ÄÜ¿çÓïÑÔ¹¤×÷£¬ÔÊÐí £º
×ÔÓɵØÔÚ Java ºÍ Kotlin Ô´ÂëÎļþÖ®¼äÇл»
µ÷ÊÔ»ìºÏÓïÑÔµÄÏîÄ¿£¬¿ÉÒÔÔÚ²»Í¬ÓïÑÔ±àдµÄ´úÂëÖ®Öе¥²½µ÷ÊÔ
ÖØ¹¹ Java ·½·¨µÄʱºò£¬Kotlin ´úÂëÖеĶÔËüÃǵĵ÷ÓÃÒ²»áµÃµ½ÕýÈ·µÄ¸üУ¬·´Ö®ÒàÈ»
Ï£ÍûÎÒÃÇÒѾ˵·þÄã³¢ÊÔһϠKotlin¡£ÏÖÔÚ£¬ÄãÒªÈçºÎ¿ªÊ¼Ê¹ÓÃËü£¿ÔÚ½ÓÏÂÀ´ µÄÒ»½ÚÖУ¬ÎÒÃǽ«´ÓÃüÁîÐÐºÍÆäËû²»Í¬¹¤¾ßµÄʹÓÃÁ½·½ÃæÌÖÂÛ±àÒëºÍÔËÐÐ
Kotlin ´ú ÂëµÄ¹ý³Ì¡£
ʹÓÃKotlin¹¤¾ß
ºÍ Java Ò»Ñù£¬Kotlin Ò²ÊDZàÒëÐÍÓïÑÔ¡£ÕâÒâζ×ÅÄã±ØÐëÏȱàÒ룬Ȼºó²ÅÄÜÖ´ÐÐ Kotlin
´úÂë¡£ÈÃÎÒÃÇÀ´ÌÖÂÛһϱàÒë¹ý³Ì£¬È»ºó¿´¿´°ïÄãÍê³ÉÕâ¸ö¹ý³ÌÐèÒªµÄ²»Í¬¹¤¾ß¡£Èç¹ûÄãÐèÒª¹ØÓÚÈçºÎ´î½¨¿ª·¢»·¾³µÄÐÅÏ¢£¬Çë²Î¿¼
Kotlin ¹Ù·½ÍøÕ¾µÄ¡°Tutorials¡±£¨½Ì³Ì£©Ò»½Ú (https://kotlinlang.org/docs/tutorials)¡£
±àÒë Kotlin ´úÂë
Kotlin µÄÔ´´úÂë´æ·ÅÔÚºó׺ÃûΪ .kt µÄÎļþÖС£Kotlin ±àÒëÆ÷»á·ÖÎöÔ´´úÂë²¢Éú³É .class
Îļþ£¬ÕâºÍ Java ±àÒëÆ÷×öµÄûʲô²»Í¬¡£È»ºó°´ÕÕÄãÕýÔÚ´¦ÀíµÄÓ¦ÓóÌÐòÀàÐ͵ıê×¼¹ý³Ì´ò°üºÍÖ´ÐÐÉú³ÉµÄ
.class Îļþ¡£×î¼òµ¥µÄÇé¿öÏ£¬Ö»ÐèҪʹÓà kotlinc ÃüÁî¾Í¿ÉÒÔ´ÓÃüÁîÐбàÒë´úÂ룬Ȼºó¾Í¿ÉÒÔÓÃ
java ÃüÁîÖ´ÐÐÄãµÄ´úÂë £º
kotlinc <source file or directory> -include-runtime
-d <jar name>java -jar <jar name>

ͼ 1.1¡¡Kotlin ¹¹½¨¹ý³Ì
Óà Kotlin ±àÒëÆ÷±àÒëµÄ´úÂëÒÀÀµ Kotlin ÔËÐÐʱ¿â¡£Ëü°üÀ¨ÁË Kotlin ×Ô¼ºµÄ±ê×¼
¿âÀàµÄ¶¨Ò壬ÒÔ¼° Kotlin ¶Ô±ê×¼ Java API µÄÀ©Õ¹¡£ÔËÐÐʱ¿âÐèÒªºÍÄãµÄÓ¦ÓóÌÐòÒ» Æð·Ö·¢¡£
ÔÚ´ó¶àÊýʵ¼Ê¹¤×÷µÄÀý×ÓÖУ¬Äã»áʹÓÃÏñ Maven¡¢Gradle »òÕß Ant ÕâÑùµÄ¹¹½¨ÏµÍ³À´±àÒëÄãµÄ´úÂë¡£Kotlin
ºÍËùÓÐÕâЩ¹¹½¨ÏµÍ³¶¼¼æÈÝ£¬ÎÒÃÇ»áÔÚ¸½Â¼ A ÖÐÌÖÂÛÏà¹ØÏ¸½Ú¡£ËùÓÐÕâЩ¹¹½¨ÏµÍ³Ò²Ö§³ÖÔÚͬһ¸ö´úÂë¿âÖмÈÓÐ
Kotlin Ò²ÓÐ Java µÄ»ìºÏÓïÑÔÏîÄ¿¡£´ËÍ⣬Maven ºÍ Gradle »¹»á°ïÄã°Ñ Kotlin
ÔËÐÐʱ¿â×÷ΪÒÀÀµ¼ÓÈëµ½ÄãµÄÓ¦ÓóÌÐòÖС£
IntelliJ IDEA ºÍ Android Studio ²å¼þ
IntelliJ IDEA µÄ Kotlin ²å¼þÊǺÍÓïÑÔͬ²½¿ª·¢µÄ£¬ËüÊÇ Kotlin ¿ÉÓõŦÄÜ×îÈ«ÃæµÄ¿ª·¢»·¾³¡£Ëü³ÉÊìÇÒÎȶ¨£¬ÌṩÁË
Kotlin ¿ª·¢ËùÐèµÄÈ«Ì×¹¤¾ß¡£
IntelliJ IDEA 15 ¼° Æäºó Ðø°æ ±¾²» Ðè Òª¶î ÍâµÄ Éè Öã¬Kotlin ²å
¼þ¾Í¿ÉÒÔ¿ªÏä¼´Ó᣿ÉÒÔÑ¡ÔñÃâ·Ñ¿ªÔ´µÄ IntelliJ IDEA Community °æ£¬Ò²¿ÉÒÔÑ¡Ôñ
IntelliJ IDEA Ultimate¡£ÔÚ¡°New Project¡±£¨Ð½¨ÏîÄ¿£©¶Ô»°¿òÖÐÑ¡Ôñ¡°Kotlin¡±£¬È»ºó¾Í¿ÉÒÔ¿ªÊ¼¹¤×÷ÁË¡£
Èç¹ûÄãÓõÄÊÇ Android Studio£¬¿ÉÒÔ´Ó¡°plug-in manager¡±£¨²å¼þ¹ÜÀíÆ÷£©Öа²×°
Kotlin ²å¼þ¡£´ò¿ª¡°Settings¡±£¨ÉèÖã©¶Ô»°¿ò£¬Ñ¡Ôñ¡°Plugins¡±£¨²å¼þ£©£¬µ¥»÷¡°Install
JetBrains Plugin¡±£¨°²×° JetBrains ²å¼þ£©°´Å¥£¬È»ºó´ÓÁбíÖÐÑ¡Ôñ¡°Kotlin¡±¡£
½»»¥Ê½ shell
Èç¹ûÄãÏë¿ìËٵس¢ÊÔС¶ÎµÄ Kotlin ´úÂ룬¿ÉÒÔʹÓý»»¥Ê½ shell( Ò²½Ð REPL3 £©¡£
ÔÚ REPL ÖУ¬¿ÉÒÔÖðÐеØÊäÈë Kotlin ´úÂë²¢Á¢¼´¿´µ½ÆäÖ´Ðнá¹û£¬¿ÉÒÔʹÓò»´øÈÎ ºÎ²ÎÊýµÄ
kotlinc ÃüÁîÆô¶¯ REPL£¬Ò²¿ÉÒÔ´Ó IntelliJ IDEA µÄ¡°Kotlin¡±²Ëµ¥ÖÐÑ¡
ÔñÆô¶¯ REPL¡£
Eclipse ²å¼þ
Èç¹ûÄãÊÇ Eclipse Óà »§£¬Í¬Ñù¿ÉÒÔÑ¡ÔñÔÚÄãµÄ IDE ÖÐʹÓà Kotlin¡£Kotlin
µÄ Eclipse ²å¼þÌṩÁ˱ØÒªµÄ IDE ¹¦ÄÜ£¬Èçµ¼º½ºÍ´úÂ벹ȫ¡£¸Ã²å¼þ¿ÉÒÔÔÚ Eclipse
Marketplace ÖÐÕÒµ½¡£Òª°²×°Ëü£¬ÇëÑ¡Ôñ¡°Help > Eclipse Marketplace¡±²Ëµ¥ÏȻºóÔÚÁбíÖÐËÑË÷¡°Kotlin¡±¡£
ÔÚÏß playground
³¢ÊÔ Kotlin µÄ×î¼òµ¥µÄ·½Ê½£¬ÊDz»ÐèÒªÈκΰ²×°ºÍÅäÖ᣿ÉÒÔÔÚ http://try.kotl.in
ÕÒµ½ÔÚÏßµÄ playground£¬¿ÉÒÔÔÚÉÏÃæ±àд¡¢±àÒë¼°ÔËÐÐ Kotlin µÄС³ÌÐò¡£Playground
ÉÏ»¹Õ¹Ê¾ÁË Kotlin ÌØÐԵĴúÂëʾÀý£¬ÆäÖаüÀ¨Á˱¾ÊéÖеÄËùÓÐÀý×Ó£¬»¹ÓÐһϵÁн»»¥Ê½Ñ§Ï° Kotlin
µÄÁ·Ï°¡£
Java µ½ Kotlin µÄת»»Æ÷
ÒªÊìÁ·ÕÆÎÕÒ»ÃÅÐÂÓïÑÔ×ÜÊÇÒª·ÑµãÁ¦ÆøµÄ¡£ÐÒÔ˵ÄÊÇ£¬ÎÒÃÇ¿ª±ÙÁËÒ»ÌõºÜ°ôµÄС½Ý¾¶£¬ÈÃÄã¿ÉÒÔ½èÖúÏÖÓÐµÄ Java
֪ʶÀ´¼Ó¿ìѧϰºÍÔËÓà Kotlin µÄËÙ¶È¡£Õâ¸ö¹¤¾ß¾ÍÊÇ Java µ½ Kotlin µÄ×Ô¶¯×ª»»Æ÷¡£
µ±Ä㿪ʼѧϰ Kotlin µÄʱºò£¬Èç¹ûÄ㻹ûÓмÇס׼ȷµÄÓï·¨£¬×ª»»Æ÷ÄܰïÄã±í´ïһЩÄÚÈÝ¡£¿ÉÒÔÏÈÓÃ
Java д³öÏàÓ¦µÄ´úÂëÆ¬¶Î£¬È»ºó°ÑËüÕ³Ìùµ½ Kotlin ÎļþÖУ¬×ª»»Æ÷»á×Ô¶¯µØ½«´úÂëת»»³É Kotlin¡£×ª»»µÄ½á¹û²»Ò»¶¨×ÜÊÇ·ûºÏÓïÑÔϰ¹ß£¬µ«ÊÇËüÒ»¶¨ÊÇ¿ÉÒÔ¹¤×÷µÄ´úÂ룬ÕâÑù¾Í¿ÉÒÔÈÃÄãµÄÈÎÎñ¸ü½øÒ»²½ÁË¡£
ÔÚÏÖÓÐµÄ Java ÏîÄ¿ÖÐÒýÈë Kotlin ʱ£¬×ª»»Æ÷Ò²ºÜºÃÓᣵ±Äãдһ¸öÐÂÀàʱ£¬¿ÉÒÔ´ÓÒ»¿ªÊ¼¾ÍÓÃ
Kotlin¡£µ«ÊÇÈç¹ûÄãÒªÔÚÒ»¸öÏÖÓеÄÀàÉÏ×öÖØ´óµÄ¸ü¸Äʱ£¬¿ÉÄÜÒ²ÏëÔÚÕâ¸ö¹ý³ÌÖÐʹÓà Kotlin£¬Õâʱת»»Æ÷¾ÍÅÉÉÏÓó¡ÁË¡£Ê×ÏȰÑÕâ¸öÀàת»»³É
Kotlin£¬È»ºó¾Í¿ÉÒÔÀûÓÃÏÖ´ú±à³ÌÓïÑÔµÄËùÓÐÓÅÊÆÀ´Ìí¼Ó¸ü¸ÄÁË¡£
ÔÚ IntelliJ IDEA ÖÐʹÓÃת»»Æ÷ÔÙ¼òµ¥²»¹ýÁË¡£ÒªÃ´¸´ÖÆÒ»¶Î Java ´úÂëÕ³Ìùµ½ Kotlin
ÎļþÖУ¬ÒªÃ´´¥·¢¡°Convert Java File to Kotlin File¡±£¨×ª»» Java
Îļþµ½ Kotlin Îļþ£©¶¯×÷À´×ª»»Õû¸öÎļþ¡£Ò²¿ÉÒÔÔÚ Eclipse ÖлòÕßÏßÉÏʹÓÃת»»Æ÷¡£
С½á
Kotlin ÊǾ²Ì¬ÀàÐÍÓïÑÔ²¢Ö§³ÖÀàÐÍÍÆµ¼£¬ÔÊÐíά»¤ÕýÈ·ÐÔÓëÐÔÄܵÄͬʱ±£³ÖÔ´´úÂëµÄ¼ò½à¡£
Kotlin Ö§³ÖÃæÏò¶ÔÏóºÍº¯ÊýʽÁ½ÖÖ±à³Ì·ç¸ñ£¬Í¨¹ýÍ·µÈº¯Êýʹ¸ü¸ß¼¶±ðµÄ³éÏó³ÉΪ¿ÉÄÜ£¬Í¨¹ýÖ§³Ö²»¿É±äÖµ¼ò»¯Á˲âÊԺͶàÏ߳̿ª·¢¡£
ÔÚ·þÎñÆ÷¶ËÓ¦ÓóÌÐòÖÐËü¹¤×÷µÃºÜºÃ£¬È«ÃæÖ§³ÖËùÓÐÏÖ´æµÄ Java ¿ò¼Ü£¬Îª³£¼ûµÄÈÎÎñÌṩÁËй¤¾ß£¬ÈçÉú³É
HTML ºÍ³Ö¾Ã»¯¡£
ÔÚ Android ÉÏËüÒ²¿ÉÒÔ¹¤×÷£¬ÕâµÃÒæÓÚ½ô´ÕµÄÔËÐÐʱ¡¢¶Ô Android API ÌØÊâµÄ±àÒëÆ÷Ö§³ÖÒÔ¼°·á¸»µÄ¿â£¬Îª³£¼û
Android ¿ª·¢ÈÎÎñÌṩÁË Kotlin ÓÑºÃµÄ º¯Êý¡£
ËüÊÇÃâ·ÑºÍ¿ªÔ´µÄ£¬È«ÃæÖ§³ÖÖ÷Á÷µÄ IDE ºÍ¹¹½¨ÏµÍ³¡£
Kotlin ÊÇÎñʵµÄ¡¢°²È«µÄ¡¢¼ò½àµÄ£¬Óë Java ¿É»¥²Ù×÷£¬Òâζ×ÅËüרעÓÚʹÓÃÒѾ֤Ã÷¹ýµÄ½â¾ö·½°¸´¦Àí³£¼ûÈÎÎñ£¬·ÀÖ¹³£¼ûµÄÏñ
NullPointerException ÕâÑùµÄ´íÎó£¬Ö§³Ö½ô´ÕºÍÒ×¶ÁµÄ´úÂ룬ÒÔ¼°ÌṩÓë Java ÎÞÏÞÖÆµÄ¼¯³É¡£
|