scala
天心有情
这个作者很懒,什么都没留下…
展开
-
case关键字在scala的作用
说到scala的强大,case关键字当然功不可没。它可以用作模式匹配 eg:import scala.language.postfixOpsobject fun2{ def main(args: Array[String]): Unit = { val model: Seq[(String, Int)] = ("Jack"->19)::("Bucy"->20)::("Bob"->22)原创 2017-12-20 11:44:10 · 6196 阅读 · 2 评论 -
scala的无参函数什么时候加括号,什么时候不加括号
在scala语言中,没有参数的函数可以加括号也可以不加括号。有什么区别呢?有括号的函数调用时可以加括号也可以不加括号 不带括号的函数调用时一定不能加括号那么具体什么情况下写无参的函数加括号,什么时候不加括号呢?无副作用的函数省略括号有副作用的函数添加括号(提醒使用者需要额外小心)原创 2017-12-20 11:57:04 · 3832 阅读 · 3 评论 -
scala中extends和with的使用
在scala中有的时候用extends有的时候用with,到底该用什么呢? 请看下面用例 trait Mytrait1{ def doSomething(str:String):Unit={ println(s"$str is doing") } } trait Mytrait2{ def forfun():Unit原创 2017-12-11 14:48:05 · 15835 阅读 · 3 评论 -
scala 隐式转换,隐式参数,隐式类
Scala隐式转换Scala的隐式转换是一个十分常用的功能这里我们将介绍怎么简单的使用隐式转换。package data/** * Created by LiuWenSheng on 2017/9/29. */class MyInt(i:Int){ private val pro = i def +(x:MyInt)= new MyInt(x.pro+this.pro)}obj原创 2017-09-29 12:11:31 · 364 阅读 · 0 评论 -
Scala的单元测试
Scala有着自己的单元测试,当然它也可以使用java的junit等单元测试1、准备工作你根据你需要的版本去下载单元测试的jar包(点击进入下载地址,从maven上面下载)测试用例代码class TestUtils { def Add(i:Int,j:Int):Int ={ i+j }}2、单元测试2.1 Suit单元测试测试代码import or原创 2017-08-15 11:12:25 · 8871 阅读 · 0 评论 -
scala的可堆叠特征
scala中trait可以提高代码的可重用性,假如有很多特质,并且特质中有着重复的方法,那么这是调用的是哪一个特质的方法?请看如下示例 trait T1{ println("T1 is created!") def myprint={ println("T1's my print") } } trait T2{ d原创 2017-12-12 15:24:42 · 307 阅读 · 0 评论 -
Scala2.11反射
scala的反射scala的反射分为 运行时反射和编译时反射。编译时反射在scala语言中使用宏来替代,它是开发程序转化器和生成器的神兵利器,而运行时反射通常用来作为调整语言语义和组件之间的绑定。具体的情况请参考官方链接 - 点击进入这是官网中的例子和对scala反射的一些解释。顺便提醒一下最好不要和java反射混用一面造成不可控制的错误。package myreflecti...原创 2018-08-14 15:10:30 · 1683 阅读 · 0 评论 -
如何用scala写出java8的函数BiConsumer等匿名函数
使用scala写出java的BiConsumer最近做一个项目需要使用scala调用java的API,但是java的api上面的输入参数为BiComsumer接口,这种接口在java中写很简单,比如这样(m,n)-> System.out.println(m+n)但是在Scala中调用就没有那么简单了于是我就查看了Biconsumer的源码,发现他有着两个方法,其中一个方法已经实现...原创 2019-02-14 15:25:03 · 1368 阅读 · 1 评论