![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Scala
文章平均质量分 57
Devin01213
一切皆有可能!
展开
-
scala Class
scala类定义字段有两个关键字,val和var。val修饰的字段,相当于常量,只有get,没有set;var修饰的字段,既有get,又有set。伴生对象和伴生类:在同一个scala的类文件中,如果一个class和object名字一样的类,那么class是object的伴生类,object是class的伴生对象。被private[包名] 修饰的类,只能在该包下可以访问,包外不能访问。被p...原创 2018-07-18 21:16:39 · 1301 阅读 · 0 评论 -
Spark Actor通信模型
给actor发送100,结果返回default...两个actor对象相互通信原创 2018-12-24 23:11:56 · 540 阅读 · 0 评论 -
scala 模式匹配
/** * 定义偏函数用PartialFunction * PartialFunction[T1,T2],T1为传入的参数类型,T2为返回值类型 * 偏函数体中的case只会匹配一个,匹配到了就不会继续往下匹配 */ val func: PartialFunction[String, Int] = { case "a" => 1 case "b...原创 2018-07-15 10:37:43 · 125 阅读 · 0 评论 -
scala集合(数组,序列,集合,元组,映射)
1 Array数组数组分为不可变长数组(Array) 和可变长数组(ArrayBuffer) 。 如字面意思,前者长度不可变, 已经写死了, 后者长度可变。注:只是长度不可变, 但是对应角标元素可变 。/** * 在Scala中,数组分为不可变长数组(在immutable包下)和可变长数组 (在mutable下) * 不可变长数组:长度不可变,角标元素值可变 * 可变长数组:长度可变,角标元...原创 2018-07-15 09:54:26 · 2704 阅读 · 0 评论 -
scala方法和函数
1 方法定义方法定义方法的关键字: def定义方法的通用格式: def 方法名 (参数列表):方法返回值类型={方法体}如果方法体中有多行代码, 则可以使用代码块的方式包裹多行代码, 代码块中最后一行的返回值就是整个方法的返回值。 与Java中不同, 不是使用return返回值的。省略方法的返回值类型: scala会自动根据最后一行语句返回的值推断出方法的返回值类型 def m1(num...原创 2018-07-14 10:07:54 · 2402 阅读 · 0 评论 -
scala基础(变量、条件判断、循环)
1 scala 介绍类似于java,也是jvm的一门编程语言,集成面向对象和函数式编程的各种特性2 scala特点(1)面向对象: 一切皆对象, 和java一致。(2)函数式编程: 方法可以作为参数进行传递(3)编码效率高: Scala语言表达能力强, 一行代码抵得上Java多行, 开发速度快;3 scala与java的关系Scala与Java的关系是非常紧密的! ! 因为...原创 2018-07-14 09:44:12 · 2443 阅读 · 0 评论 -
Scala implicit
Scala提供了Java所不具有的隐式转换和隐式参数功能,可以允许你手动指定,将某种类型的对象转换为其他类型的对象。在Spark中有大量的隐式转换和隐式参数。Scala的隐式转换, 核心是定义隐式转换函数。 定义的隐式转换函数, 只要在编写的程序内引入, 就会被Scala自动使用。Scala会根据隐式转换函数的签名, 在程序中使用到隐式转换函数接收的参数类型定义的对象时, 会自动将其传入隐式转...原创 2018-07-19 09:11:42 · 431 阅读 · 0 评论 -
scala 泛型
泛型类: * 在类声明时,定义一些泛型类型,然后在类的内部,就可以使用这些泛型类型 * 在需要对类中的某些成员,如字段或方法中的参数进行统一的类型限制时,可以使用泛型类,使得程序具有更好的健壮性和稳定性 * 在使用类的时候,将类型参数替换为实际的类型即可。 * scala会自动推断泛型类型:给泛型类型的字段赋值时,scala会自动对类型进行推断class F01[T1, T2, T3...原创 2018-07-18 23:22:58 · 800 阅读 · 0 评论 -
scala trait
trait * 类似于java中的interface * 类可以继承多个trait,使用关键字extends,与java不同的是,不是使用implement关键字 * scala中对类只能单继承,对trait可以多继承trait TraitDemo01 { //抽象方法 def say}trait TraitDemo01_01 { //抽象方法 def sayHi...原创 2018-07-18 23:04:26 · 155 阅读 · 0 评论 -
scala 匿名类
匿名类:也就是没有命名的类//抽象类abstract class Person10 { def say = { println("hello") }}//普通类class Animal10(var name: String, var age: Int) { def say = { println("hello") }}object Objec...原创 2018-07-18 22:35:20 · 2062 阅读 · 0 评论 -
scala 继承
继承抽象类:abstract class ,抽象类中可以有抽象字段、非抽象字段、抽象方法、非抽象方法。重写抽象字段、抽象方法时,可以不带override关键字;重写非抽象字段、非抽象方法时,必须带override关键字;abstract class Person2 { //抽象字段,不能用private关键字修饰,否则子类不能进行重写 var name: String /...原创 2018-07-18 22:21:29 · 157 阅读 · 0 评论 -
scala Object
Object在scala中被object关键字修饰的类有如下特征:1、是单例的2、不需要通过new来创建对象,直接通过类名创建3、没有有参的主构造器,但是有主构造代码块(不包含在任何方法中的代码,就是object的主构造代码块)4、通常用于封装一些常量、工具类、枚举和隐式转换函数5、主构造代码块只会执行一次,因为是单例的object ObjectDemo { printl...原创 2018-07-18 22:03:03 · 2406 阅读 · 0 评论 -
Intellij IDEA 安装Scala 插件
1、本机安装scala2、查看对应版本,然后下载并安装插件可见对应版本是v2018.1.10,下载该对应版本的插件即可。下载地址:https://plugins.jetbrains.com/plugin/1347-scala/versions安装:选择刚下载的插件即可。3、配置Ctrl+Shit+Alt+S 调出我们的项目结构配置界面:...原创 2019-05-29 11:55:04 · 1068 阅读 · 0 评论