![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
shijiebei2009
Java、PHP、Scala、Android、Python、ML、NLP
展开
-
Scala的单例对象
通常,一个类对应一个伴生对象,其方法就跟Java中的静态方法一样,举例:BigInt类的BigInt伴生对象有一个生成指定位数的随机素数的方法probablePrime,在REPL中运行下列代码:object HelloWorld{ def main(args:Array[String]){ for( i println(BigInt.probab原创 2014-07-09 20:18:38 · 5775 阅读 · 0 评论 -
Scala基础
REPL 在Scala中的书籍中会提及REPL,REPL(Read-Eval-Print Loop);这被称为“读取-求值-打印”循环。 不带参数的Scala方法通常不使用圆括号,例如,StringOps类的API显示它有一个distinct方法,不带(),其作用是获取字符串中不重复的字符。调用如下: print("hello".distinct);Scaladoc原创 2014-08-13 20:35:53 · 1523 阅读 · 0 评论 -
Scala数组操作
数组要点若长度固定则使用Array,若长度可能有变化则使用ArrayBuffer;提供初始值时不要使用new;用()来访问元素;用for(elem例子:import scala.collection.mutable.ArrayBuffer;object HelloWorld { def main(args: Array[String]) { //实现一个可原创 2014-08-16 16:33:40 · 34817 阅读 · 1 评论 -
Scala继承
类型检查和转换要测试某个对象是否属于某个给定的类,可以使用isInstanceOf方法,如果测试成功,你可以用asInstanceOf方法将引用转换为子类的引用if(p.isInstanceOf[Employee]){ val s = p.asInstanceOf[Employee]}如果想测试p指向的是一个Employee对象但又不是其子类,原创 2014-08-20 20:45:14 · 3930 阅读 · 1 评论 -
我谈Scala--Scala菜鸟的初见
近来Scala的名气很大,但是它真的有这么好的,就我所见,非也。Scala的名气掩盖了它的不足,使得好多人没有看到它的缺点,虽然它是一门函数式编程语言,但是给我的整体感觉就是混乱和不统一,为了不同而不同,难道必须要和其他的语言不同,才能显示出你的优秀吗?要知道,Java乃是经受了二十多年的考验,它的诸多之处难道不值得你去借鉴吗?你非要搞的标新立异,处处与常规所背,是要显示你优秀的设计思想吗?可在我原创 2014-08-20 14:27:59 · 1905 阅读 · 2 评论 -
更改Scala的代码自动补全快捷键code completion
使用Eclipse的代码补全快捷键alt+/已经习惯了,但是IntelJIDEA中这个快捷键组合没有效果,那么我们来修改之,按ctrl+alt+s打开设置界面之后在keymaps中选择Eclipse即可,那么下面就要来修改了,在右上角的搜索框中输入completion,在MainMenu中可以找到选中Basic那一行,右击,选择Add Keyboard Shortcut,在这个窗口原创 2014-08-20 00:16:56 · 13217 阅读 · 0 评论 -
Scala包和引入
包在Scala中,包的作用域和其他作用域一样地支持嵌套,在下一层作用域中可以访问上一层作用域中的名称。package com {package horstmann {object Utils { def percentOf(value: Double, rate: Double) = value * rate / 100}package impatient {原创 2014-08-20 12:31:17 · 5269 阅读 · 0 评论 -
Scala对象
单例对象Scala没有静态方法或静态字段,你可以用object这个语法结构来达到同样目的,object HelloWorld { private var lastNumber = 0 def newUniqueNumber()={lastNumber+=1;lastNumber}}使用的时候直接调用HelloWorld.newUniqueNumber()即可。对象的构造器原创 2014-08-19 14:20:59 · 2938 阅读 · 0 评论 -
Scala类
要点类中的字段自动带有getter方法和setter方法可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端----这就是“统一访问原则”用@BeanProperty注解来生成JavaBeans的getXxx/setXxx方法每个类都有一个主要的构造器,这个构造器和类定义“交织”在一起。它的参数直接成为类的字段,主构造器执行类体中所有的语句。辅助构造器是原创 2014-08-18 21:14:46 · 5420 阅读 · 0 评论 -
Scala映射和元组
映射import scala.collection.mutableobject HelloWorld { def main(args: Array[String]) { val scores = Map("Alice" -> 10, "Bob" -> 33) //构造一个不可变的Map[String,Int] val scores2 = scala.collection.原创 2014-08-18 15:36:36 · 4314 阅读 · 1 评论 -
Scala程序设计-Java虚拟机多核编程实践(一)
对象一旦创建出来,就不再改变其内容,这样的对象是不变的。这样做可以无需顾虑多线程访问对象时的竞争管理,Java的String就是不变对象的一个例子。基于此,使用Scala创建多线程应用时,可以用不变状态(immutable state)编写无锁代码,从而写出简洁的多线程代码,而无需顾虑线程间的数据竞争,以及处理加锁和释放带来的梦魇。JVM上的其他语言Groovy、JRuby、Clojure怎么原创 2015-01-21 14:40:52 · 1536 阅读 · 0 评论