![Scala编程实战(原书第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/899/48593899/b_48593899.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.10 访问字符串中的单个字符
问题
你想要访问一个字符串中的特定位置的字符。
解决方案
使用Scala数组下标访问数组的方法,通过索引位置访问对应的字符,但请注意不要越界:
![](https://epubservercos.yuewen.com/87A2C8/28235253302644106/epubprivate/OEBPS/Images/69_02.jpg?sign=1738953955-c4HJG6xj7u4xnm8OeyqstNqYZ0tldm7w-0-e8ef7ea7d0de66bb44b640e73745eadf)
讨论
这个小节存在的意义是在Java中大家使用charAt方法来达到这个目的。当然也可以在Scala中使用它,但这段代码会显得很啰唆:
![](https://epubservercos.yuewen.com/87A2C8/28235253302644106/epubprivate/OEBPS/Images/69_03.jpg?sign=1738953955-IrlosfeKGJyzgPhv42vgAWvmMoumLfJp-0-30fa43e635323a8cfc7cc397be20eef8)
在Scala中,首选方法是在解决方案中所示的使用数组下标访问的方法。
数组下标访问实际上是方法调用
Scala中使用数组下标访问既方便又好看,如果想知道Scala是如何做到如此简单易懂的,可以看下面这个例子:
![](https://epubservercos.yuewen.com/87A2C8/28235253302644106/epubprivate/OEBPS/Images/70_02.jpg?sign=1738953955-QSMbg3Oa2XC37bbbnlqIx0eSSqvjrLfe-0-64c7a11b28c67bc55414cc363742f2fe)
将会被Scala编译器翻译成:
![](https://epubservercos.yuewen.com/87A2C8/28235253302644106/epubprivate/OEBPS/Images/70_03.jpg?sign=1738953955-sxCwxPLbru8dBASnJiI2pPCWTxDErh51-0-aa6810718b7edc955dc1ab6b5e0d76bb)
在7.5节中会更详细地解释这个语法糖。