随笔分类 -  Scala

摘要:引言Scala中类型参数是什么呢?其实就类似于Java中的泛型。定义一种类型参数,比如在集合、类、函数中定义类型参数,然后就可以保证使用到该类型参数的地方就只能是这种类型,从而实现程序更好的健壮性。 引言 Scala中类型参数是什么呢?其实就类似于Java中的泛型。定义一种类型参数,比如在集合、类、 阅读全文
posted @ 2017-12-21 22:02 小丑进场 阅读(466) 评论(0) 推荐(0) 编辑
摘要:引言Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象。通过这些功能可以实现非常强大而且特殊的功能。Scala的隐式转换,其实最核心的就是定义隐式转换函数,即implicit conversion 阅读全文
posted @ 2017-12-20 22:10 小丑进场 阅读(785) 评论(2) 推荐(2) 编辑
摘要:引言模式匹配是Scala中非常有特色,非常强大的一种功能。类似于Java中的switch case语法,但是模式匹配的功能要比它强大得多,switch只能对值进行匹配,但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case cla 阅读全文
posted @ 2017-12-18 22:25 小丑进场 阅读(801) 评论(2) 推荐(2) 编辑
摘要:1. Scala的集合体系结构Scala中的集合体系主要包括(结构跟Java相似):Iterable(所有集合trait的根trait)Seq(Range、ArrayBuffer、List等)Set(HashSet、LinkedHashSet、SortedSet等)Map (HashMap、Sort 阅读全文
posted @ 2017-12-15 22:37 小丑进场 阅读(614) 评论(0) 推荐(2) 编辑
摘要:引言Scala是一门既面向对象,又面向过程的语言,Scala的函数式编程,就是Scala面向过程最好的佐证。也真是因此让Scala具备了Java所不具备的更强大的功能和特性。而之所以Scala一直没有替代Java,一是因为Java诞生早,基于Java开发了大量知名的工程,并且最重要的是Java现在不 阅读全文
posted @ 2017-12-14 22:28 小丑进场 阅读(852) 评论(0) 推荐(0) 编辑
摘要:基础知识 基础知识 1 将trait作为接口使用此时Trait就与Java中的接口非常类似,不过注意,在Scala中无论继承还是trait,统一都是extends关键字。Scala跟Java 8前一样不支持对类进行多继承,但是支持多重继承trait,使用with关键字即可 1 将trait作为接口使 阅读全文
posted @ 2017-12-13 16:52 小丑进场 阅读(555) 评论(2) 推荐(1) 编辑
摘要:extends与Java一样,也是使用extends关键字,使用继承可以有效复用代码 extends 与Java一样,也是使用extends关键字,使用继承可以有效复用代码 class Person { private var name = "leo" def getName = name } cl 阅读全文
posted @ 2017-12-12 22:36 小丑进场 阅读(460) 评论(2) 推荐(0) 编辑
摘要:objectobject相当于class的单个实例,类似于Java中的static,通常在里面放一些静态的field和method。 第一次调用object中的方法时,会执行object的constructor,也就是object内部不在method或者代码块中的所有代码,但是object不能定义接 阅读全文
posted @ 2017-12-11 11:37 小丑进场 阅读(1328) 评论(0) 推荐(0) 编辑
摘要:定义类 定义类 // 定义类,包含field以及method class HelloWorld { private var name = "Leo" def sayHello() { println("Hello" + name)} def getName = name } defined clas 阅读全文
posted @ 2017-12-11 11:33 小丑进场 阅读(490) 评论(2) 推荐(0) 编辑
摘要:Map创建Map Map // 创建一个不可变的Map scala> val ages = Map("Leo" -> 30, "Sparks" -> 25) ages: scala.collection.immutable.Map[String,Int] = Map(Leo -> 30, Spark 阅读全文
posted @ 2017-12-11 11:28 小丑进场 阅读(2237) 评论(2) 推荐(0) 编辑
摘要:Array 与Java的Array类似,也是长度不可变的数组,此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数组。 注意:访问数组中元素使用()而不是Java中的 []   可以直接使用Array()创建数组,元素类型自动推断( 阅读全文
posted @ 2017-12-10 17:24 小丑进场 阅读(1316) 评论(0) 推荐(0) 编辑
摘要:条件控制与循环   if表达式 定义:if表达式是有值的,就是if或者else中最后一行语句返回的值。 例如:val isAdult = if (age 18) 1 else 0 类型推断:由于if表达式是有值的,而if和else子句的值类型可能不同,此时if表达式是什么类型呢?Scala 阅读全文
posted @ 2017-12-10 17:06 小丑进场 阅读(598) 评论(0) 推荐(0) 编辑
摘要:Scala基础语法 Scala与JAVA的关系 Scala是基于Java虚拟机,也就是JVM的一门编程语言,所有Scala的代码都需要经过编译为字节码,然后交由Java虚拟机来运行。 所以Scala和JAVA是可以无缝互操作的,Scala可以任意调用Java的代码,这两种语言的关系事非常紧密的。 & 阅读全文
posted @ 2017-12-10 17:05 小丑进场 阅读(729) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示