Spark 基础 —— 类与伴生对象(companion object)
来源:互联网 发布:李刚java疯狂讲义 pdf 编辑:程序博客网 时间:2024/05/29 19:15
只要分析过的任务可能会重复出现,就值得花时间改善代码。
对缺失值分析而言,我们的第一个任务就是写一个类似于 Spark StatCounter 类的东西,以正常处理缺失值。
import org.apache.spark.util.StatCounterclass NAStatCounter extends Serializable { val stats: StatCounter = new StatCounter() var missing: Long = 0 def add(x: Double): NAStatCounter = { if (java.long.Double.isNaN(x)){ missing += 1 } else{ stats.merge(x) } this } def merge(other: NAStatCounter): NAStatCounter { stats.merge(other.stats) missing += other.missing this } override def toString = { "stats: " + stats.toString + "NaN: " + missing }}
和类定义一起,我们为 NAStatCounter 定义一个半生对象(companion object):
object NAStatCounter extends Serializable { def apply(x: Double) = new NAStatCounter().add(x)}
Scala 的 object 关键字用于声明一个单例对象,该对象为类提供助手方法,类似于 Java 类的 static 方法定义。
val nastats = NAStatCounter(17.29)val nastats = NAStatCounter.apply(17.29)
0 0
- Spark 基础 —— 类与伴生对象(companion object)
- 走进Scala——伴生对象(Companion Object)
- 走进Scala——伴生对象(Companion Object)<转>
- 走进Scala——伴生对象(Companion Object)
- scala伴生对象companion object
- Kotlin 博客 companion object 伴生对象,getter,setter,内部,局部,匿名类,可变参数
- object对象、伴生类与伴生对象与类的继承实战
- scala伴生类与伴生对象
- Scala伴生类Class和伴生对象Object的区别
- Scala面向对象之伴生类与伴生对象详解
- scala基础21-伴生类和伴生对象相互访问
- 伴生类和伴生对象
- Object-C基础(7)——类与对象
- scala 学习(十一)——伴生对象
- scala 伴生类 伴生对象 apply
- scala中的伴生类 伴生对象说明
- Scala之伴生类,伴生对象
- Scala伴生类和伴生对象
- mysql性能优化
- 跨平台的一般的高质量数据传输方法理论
- Memcached真的过时了吗
- Git版本控制使用方法入门教程
- tomcat6.0
- Spark 基础 —— 类与伴生对象(companion object)
- Swift快速入门之getter 和 setter
- VB.NET-计算文件MD5值和字符串sha1加密算法
- asp.net 前后台之间数据的绑定
- 【CodeForces】557A - Ilya and Diplomas(水)
- easyui中datagrid 部分参数说明
- footer元素
- 解决Microsoft Visual Studio F6不能重新生成解决方案问题,附图文。
- int、bigint、smallint 和 tinyint