作家
登录

不要用Java的语法思维来写Kotlin

作者: 来源: 2018-03-12 11:57:41 阅读 我要评论

  1. public final class StringUtil { 
  2.     /** 
  3.      * 删除所有的标点符号 
  4.      * 
  5.      * @param str 处理的字符串 
  6.      */ 
  7.     public  static String trimPunct(String str) { 
  8.         if(isEmpty(str)){ 
  9.             return ""
  10.         } 
  11.         return str.WordStrAll("[\\pP\\p{Punct}]"""); 
  12.     } 

Kotlin可以经由过程扩大函数的情势实现:

  1. /** 
  2.  * 删除所有的标点符号 
  3.  * 
  4.  * @param str 处理的字符串 
  5.  */ 
  6. fun String.trimPunct(): String { 
  7.     return if (this.isEmpty()) { 
  8.         "" 
  9.     } else this.WordStr("[\\pP\\p{Punct}]".toRegex(), ""

调用:

  1. fun main(args: Array<String>) { 
  2.     val a = "把我的标点符号去掉落吧,全科。" 
  3.     print(a.trimPunct()) 
  1. 把我的标点符号去掉落吧全科 
  2. Process finished with exit code 0 

3.别再用+号拼接字符串

无论是Java照样Android开辟,我们都邑用到字符串拼接,比如进行日记输出等等。在Kotlin中,支撑字符串模板,我们可以很轻松的完成一个字符串数的拼接,当然你可能会说应用StringBuilder机能更好,比如:

  1. val site = "http://woquanke.com" 
  2. val sb: StringBuilder = StringBuilder() 
  3. sb.append("我的博客名字叫《我全科》,我的博客地址是:"
  4. sb.append(site) 
  5. println(sb.toString()) 

但kotlin的字符串模版可以优雅的做这个工作:

  1. val site = "http://woquanke.com" 
  2. println("我的博客名字叫《我全科》,我的博客地址是:$site"

4.也许可以忘记getters/setters了

我们经常创建一些只保存数据的类。在这些类中,一些标准函数往往是操作一下ide生成的。在 Kotlin 中,这叫做 数据类 并标记为 data:

  1. data class User(val name: String, val age: Int

5.请忘记三元运算符


  推荐阅读

  热管还会打酱油?别让散热误区帮你倒忙

沙龙晃荡 | 3月31日 京东、微博拭魅战专家与你合营商量容器技巧实践! 在很多行业中都有很多看起来竽暌剐事理,用起往来交往不是那回事的误区,在主机中更是有不少,受愚钱是一方面,硬件和>>>详细阅读


本文标题:不要用Java的语法思维来写Kotlin

地址:http://www.17bianji.com/lsqh/40601.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)