-
scala语言学习(十一)、scala隐式转换和隐式参数
scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象或者是给一个类增加方法。通过这些功能,可以实现非常强大、特殊的功能。 隐式转换其核心就是定义一个使用 implicit 关键字修饰的方法实现把一个原始类转换成目标类,进而可以调用目标类中的方法 隐式参数 所谓的隐式参数,指的是在函数或者方法中,定义…- 188
- 0
-
scala语言学习(十)、scala泛型、scala上下界
泛型 scala和Java一样,类和特质、方法都可以支持泛型。我们在学习集合的时候,一般都会涉及到泛型。在scala中,使用方括号来定义类型参数。 scala> val list1:List[String] = List("1", "2", "3") list1: List[String] = List(1, 2, 3) 定义一个泛…- 256
- 0
-
scala语言学习(九)、scala提取器(Extractor)
提取器(Extractor) 提取器是从传递给它的对象中提取出构造该对象的参数。(回想样例类进行模式匹配提取参数) scala 提取器是一个带有unapply方法的对象,unapply方法算是apply方法的反向操作,unapply接受一个对象,然后从对象中提取值,提取的值通常是用来构造该对象的值。 class Student { var name:String = _ // 姓名 var age…- 166
- 0
-
scala语言学习(八)、scala异常处理机制
异常处理 Scala 的异常处理和其它语言比如 Java 类似,Scala 的方法可以通过抛出异常的方法的方式来终止相关代码的运行,而不必通过返回值。 异常场景 package xin.studytime.App object ExceptionDemo01 { def main(args: Array[String]): Unit = { val i = 10 / 0 println("…- 712
- 0
-
scala语言学习(七)、scala模式匹配和以及scala样例类
scala有一个十分强大的模式匹配机制,可以应用到很多场合。而且scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。 switch语句 类型查询 以及快速获取数据 模式匹配 匹配字符串 package xin.studytime.App import scala.util.Random object CaseDemo01 extends App { val arr = Array(&…- 165
- 0
-
scala语言学习(六)、scala面向对象编程类、对象、继承、trait特质
scala面向对象编程之类 类的定义 scala是支持面向对象的,也有类和对象的概念。定义一个Customer类,并添加成员变量/成员方法。添加一个main方法,并创建Customer类的对象,并给对象赋值,打印对象中的成员,调用成员方法 class Customer { var name:String = _ var sex:String = _ val registerDate:Date = …- 261
- 0
-
scala语言学习(五)、scala柯里化以及应用
概念 柯里化(currying, 以逻辑学家Haskell Brooks Curry的名字命名)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。新的函数返回一个以原有第二个参数作为参数的函数。 在Scala中方法和函数有细微的差别,通常编译器会自动完成方法到函数的转换。 Scala中柯里化的形式 Scala中柯里化方法的定义形式和普通方法类似,区别在于柯里化方法拥有多组参数列表,每…- 212
- 0
-
scala语言学习(四)、scala函数式编程
函数式编程 我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。 下面的这些操作是学习的重点,先来感受下如何进行函数式编程以及它的强大 遍历 - foreach 方法描述 foreach(f: (A) ⇒ Unit): Unit 方法说明 foreach API 说明 参数 f: (A) ⇒ Unit 接收一个函数对象作为参数函数的输入参数为集合的元素返回值为空 返回值 Unit…- 210
- 0
-
scala语言学习(三)、scala的数组、Map、元组、集合
数组 scala中数组的概念是和Java类似,可以用数组来存放同类型的一组数据。 数组类型分为定长数组和变长数组两种。 定长数组 定长数组指的是数组的长度是不允许改变的,但数组的元素是可以改变的。 语法 // 通过指定长度定义数组 val/var 变量名 = new Array[元素类型](数组长度) // 用元素直接初始化数组 val/var 变量名 = Array(元素1, 元素2, 元素3.…- 160
- 0
-
scala语言学习(二)、scala的基本使用
变量声明 语法格式 val/var 变量名称:变量类型 = 初始值 val定义的是不可重新赋值的变量(值不可修改) var定义的是可重新赋值的变量(值可以修改) scala中声明变量是变量名称在前,变量类型在后,跟java是正好相反 scala的语句最后不需要添加分号 演示 #使用val声明变量,相当于java中的final修饰,不能在指向其他的数据了 val a:Int = 10 #使用var声…- 312
- 0
-
scala语言学习(一)、scala介绍
scala简介 scala是运行在 JVM 上的多范式编程语言,同时支持面向对象和面向函数编程。早期scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。 官网地址 http://www.scala-lang.org 为什么要使用scala 开发大数据应用程序(Spark程…- 323
- 0
❯
购物车
优惠劵
搜索
扫码打开当前页
扫码关注公众号
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!