
scala
xuehuagongzi000
这个作者很懒,什么都没留下…
展开
-
Scala 和java
1、scala语法中将java的接口当作类去使用@FunctionalInterface@Publicpublic interface ReduceFunction<T> extends Function, Serializable { T reduce(T var1, T var2) throws Exception;}class MyReduceFunction extends ReduceFunction[SensorReading] { override de原创 2021-09-26 23:47:56 · 102 阅读 · 0 评论 -
仅用java+IntelliJ IDEA+Maven搭建Flink项目
1、背景只在有java+intellij(自带maven)的环境快速搭建flink项目2、步骤(亲测有效)一、在IntelliJ IDEA中创建Flink项目第一步:启动IntelliJ IDEA,创建一个新的项目,如下图所示:第二步:选择Maven项目,并选择"Create from archetype":第三步:自己添加Flink的archetype添加flink-quickstart-scala的archetype如下图:repository是可选的第四步:原创 2021-08-18 20:52:50 · 2052 阅读 · 4 评论 -
模式匹配和偏函数
模式匹配原创 2021-05-07 00:51:30 · 169 阅读 · 0 评论 -
scala中的break和continue
下面2个例子的区别其实就是breakable的范围大小,在循环外就是break,在循环内就是continue。import scala.util.control.Breaks._object HdfsOps { def main(args: Array[String]): Unit = {//相当于break,输出1 breakable { for (i &...原创 2020-03-23 14:50:12 · 192 阅读 · 0 评论 -
spark利用scala操作hdfs
1、读取hdfs目录:hadoop dfs -ls path相当于listStatus的简写//checkpoint目录是:/user/dmspark/accumulate/checkpoint//e.g. /user/dmspark/accumulate/checkpoint/0519936a-5bff-4ecf-a6f0-3854e5952ec9/rdd-689/part-00099...原创 2020-03-23 12:02:28 · 739 阅读 · 0 评论 -
scala 的上界下界
目录一、泛型(1)泛型的介绍(2)泛型类、泛型方法(3)示例1)定义泛型类2)定义泛型方法二、上界和下界(1)介绍(2)示例1)上界示例2)下界示例一、泛型总结:T <: Comparable[T] 表示T比Comparable年龄小,所以T必须为Comparable的子类。相反,T >: Son,T为Son的父类。(1)泛...原创 2019-10-30 19:23:59 · 826 阅读 · 0 评论 -
scala集合框架
一、集合简介#Scala中拥有多种集合类型,主要分为可变的和不可变的集合两大类:可变集合: 可以被修改。即可以更改,添加,删除集合中的元素; 不可变集合类:不能被修改。对集合执行更改,添加或删除操作都会返回一个新的集合,而不是修改原来的集合。二、集合结构#Scala中的大部分集合类都存在三类变体,分别位于scala.collection,scala.collection.immu...原创 2019-10-30 15:13:41 · 221 阅读 · 0 评论 -
scala apply 和unapply方法的作用
1、apply的工厂作用,用于获取对象。2、unapply的提取对象参数的作用 ,用于模式匹配。/** * apply方法通常称为注入方法,在伴生对象中做一些初始化操作 * apply方法的参数列表不需要和构造器的参数列表统一 * unapply方法通常称为提取方法,使用unapply方法提取固定数量的构造该对象的参数 * unapply方法会返回一个序列(Option)...原创 2019-10-28 18:45:56 · 1037 阅读 · 0 评论 -
scala单例对象和伴生对象的关系,伴生对象和伴生类的关系
1、单例对象和伴生对象的关系scala中的类不能定义静态成员,而代之以定义单例对象来替代。单例对象通过object关键字来声明。单例对象中的所有方法,可以直接通过object单例对象的名字直接来调用。单例对象在第一次被访问时才会被初始化。(java是在初始化过程中:JVM会将一个类中所有被static关键字标识的代码或者代码块统统执行一遍。)一个单例对象可以绑定在一个类,当单例对象和...原创 2019-10-28 16:22:59 · 1190 阅读 · 0 评论 -
Scala的闭包和柯里化
1、scala中的闭包:变量不在函数作用域中时,还可以访问。闭包可以作为变量或者返回值def mulBy(factor:Double) = (x:Double) => factor * x //开始调用 val tripe = mulBy(3) val half = mulBy(0.5) println(tripe(14) + " ...原创 2019-06-15 16:04:32 · 1990 阅读 · 0 评论 -
Scala操作符的重载
+操作符的重载案例:case class TurnupMetric(turnup_num: Long, turnup_users: Set[String], vv: Long, fuv: Set[String], ...原创 2019-04-29 23:42:20 · 517 阅读 · 0 评论 -
Scala的隐式转换
主要作用是类型转换:比如讲int转为String。类A转换成类B,A类的对象就可以调用B类的方法了。目录1、隐式值:2、隐式函数3、案例使用方式:将方法或变量标记为implicit。即隐式值和隐式函数隐式转换函数概念:(implicit conversion function)指的事那种以implicit关键字声明的带有单个参数的函数。1、隐式值:例1:声明p...原创 2019-04-29 23:16:00 · 181 阅读 · 0 评论 -
Scala之Option、Some、None
Scala鼓励你在变量和函数返回值可能不会引用任何值的时候使用Option类型。在没有值的时候,使用None,这是一个对象。如果有值可以引用,就使用Some来包含这个值。Some也是Option的子类。刚接触Scala时就很奇怪, 为什么Java已经有null了,却偏偏还要弄出个None后来依然我行我素在Scala里使用null, 结果就是经常被NullPointerExcep...原创 2019-06-14 09:29:47 · 1861 阅读 · 0 评论 -
scala的样例类和普通类
普通类只有在伴生对象中定义apply和unapply方法才能够利用伴生对象的方式创建对象和模式匹配/** * apply方法通常称为注入方法,在伴生对象中做一些初始化操作 * apply方法的参数列表不需要和构造器的参数列表统一 * unapply方法通常称为提取方法,使用unapply方法提取固定数量的参数来进行模式匹配 * unapply方法会返回一个序列(Option)...原创 2019-05-31 09:41:36 · 4483 阅读 · 0 评论