文档章节

Scala学习之字符串篇(七):使用隐式方法来扩展字符串类

阿拉德大陆的魔法师
 阿拉德大陆的魔法师
发布于 2016/12/08 15:22
字数 213
阅读 98
收藏 0

通常情况下我们会把一些共用的字符串处理方法封装到一个工具类中,比如StringUtils类。假定我们实现了一个方法increment,它接收一个字符串,然后把字符串中的每一个字符加1,然后返回新的字符串。要使用这个方法我们需要调用:StringUtils.increment(s)

但是Scala为我们提供了一种更加灵活的方式-隐式方法,它可以直接让你以"s.incrment"的方式进行调用,就好像String类为我们提供了这个方法一样。

scala> implicit class StringUtils(s: String) {
     |   def increment = s.map(c => (c + 1).toChar)
     |   def decrement = s.map(c => (c - 1).toChar)
     |   def hideAll = s.replaceAll(".", "*")
     | }
defined class StringUtils

scala> "HAL".increment
res28: String = IBM

scala> "IBM".decrement
res29: String = HAL

scala> "IBM".hideAll
res30: String = ***

 

© 著作权归作者所有

阿拉德大陆的魔法师
粉丝 27
博文 91
码字总数 83019
作品 0
西城
程序员
私信 提问
Scala学习目录

字符串篇 1.1 字符串的比较 1.2 使用多行字符串 1.3 字符串的切分 1.4 插值函数 1.5 逐字符处理字符串 1.6 使用正则表达式 1.7 访问字符串特定位置的字符 1.8 使用隐式方法来扩展字符串类 2....

阿拉德大陆的魔法师
2016/04/20
367
0
Scala 的学习笔记系列(持续更新中)

最近学习 Scala,因它是灵活的函数式编程,还有就是能为 PlayFramework 2.0 服务,看的是 《Programming in Scala》 那本书,并记下自己认为值得记录的东西,列举 Scala 用元组/列表类型实现...

YanbinQ
2012/10/26
508
1
Scala学习(九)文件和正则表达式

1.读取行 要想读取文件中的所有行,可以调用scala.io.Source对象的getLines方法: 注:读取文件的指定编码必须要和文件编码对应,否则执行报错:Exception in thread "main" java.nio.chars...

我爱春天的毛毛雨
2018/10/08
24
0
Scala2.10新特性之 String Interpolation

String Interpolation http://docs.scala-lang.org/overviews/core/string-interpolation.html 2013-1-7 (英语四级未过,借助各种词典、翻译,历时两个晚上,终于翻译完了,如有翻译错误或用...

Ellipse
2013/01/06
5.4K
16
大数据(十一)--Scala编程语言-提高

版权声明:本文版权归宋坤所有,转载请注明出处 https://blog.csdn.net/skisqibao/article/details/83750021 Scala Scala字符串 Scala 集合 trait特性 模式匹配match-case 样例类case classe...

skisqibao
2018/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis + Ehcache 二级缓存实例

二级缓存是多个SqlSession共享的,其作用域是mapper的同一个namespace,不同的sqlSession两次执行相同namespace下的sql语句且向sql中传递参数也相同即最终执行相同的sql语句,第一次执行完毕...

xiaolyuh
28分钟前
4
0
Spring源码学习(二)哎呦,按菜谱做菜与AbstractAutowireCapableBeanFactory.createBean流程差不多

记得跟老婆谈恋爱时,有一天心血来潮给老婆做饭,按照菜谱一步一步的做,结果差点把厨房烧了!!! 这事至今老婆还记得。 入口 上一篇说了,AbstractBeanFactory.getBean的主流程 ,今天来说下...

温安适
30分钟前
37
0
前端UI攻城狮 你们该抛弃jQuery了

你不再需要jQuery! Web工程师太依赖jQuery了,某种意义上说jQuery已经成了JavaScript的同义词。但是我们真的需要他么?或许我们应该反思一下什么时候才真的需要jQuery。 对我个人而言开始使...

前端老手
32分钟前
5
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
今天
6
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部