
scala
文章平均质量分 53
我先森
shit code
展开
-
scala.4单例
Scala 单例说明例子 说明 scala 没有静态方法或者是静态字段, 你可以用object这个关键字来达到同样的目的, object实际上相当于java中的static代码块,但是可以同时又充当了一个类的伴生对象. object 本质上拥有class的所有特性,除了不能提供构造器参数,它甚至可以继承抽象类以及接口. 下面是一个类似java的scala版本的单例对象的实现 例子 package study.getset class Student { private var name:原创 2021-09-09 22:23:09 · 146 阅读 · 0 评论 -
scala.4 辅助构造器
说明 scala 和java一样都可以拥有多个构造器,不过写法有些区别,上一节讲了scala主构造器,这一节来说辅助构造器. 核心要抓住下面两个点 辅助构造器方法名称统一为this,java所有的构造器和类名都是一致的,这是scala和java不一样的地方,用this的好处就是,类名修改的时候this不需要任何改动. 每一个辅助构造器的第一行,都要调用别的辅助构造器或者是主构造器. 例子 class Student { private var name: String = _ //这里的_意思是原创 2021-09-09 21:39:58 · 264 阅读 · 0 评论 -
scala.3 构造器
1.主构造器 每个类都有一个主构造器,主构造器不用this声明,而是直接在类上面定义,主构造器的参数放在类名之后. class Student(var name:String) { } object Student { def main(args: Array[String]): Unit = { val o= new Student("pg") println(o.name) } 主构造器的参数被编译成普通字段, 然后根据构造器中的var /val 为该字段选择性生成ge原创 2021-09-09 21:18:07 · 168 阅读 · 0 评论 -
scala.2 == ,equals ,eq
scala的== equals 和java的一样 默认情况下,比较的都是地址的相等性,也就是是否是同一个引用地址对象,比较的是地址而不是值. equals 是可以被重写的,这一点和java也是一样的,要重写其hashcode方法,以及方法中的逻辑. scala中有一个case class ,case class是可以比较值相等的对象,它默认重写了equals 方法. eq 不可以被任何方法覆盖,它比较的是引用相等性. scala的equals你可以点开看一下直接调用的是java的equals,..原创 2021-09-09 19:58:46 · 255 阅读 · 0 评论 -
scala.1 getter/setter
1.说明 scala 的get/set 方法是自动生成的 var修饰的变量会生成get/set方法 val修饰的变量只生成get方法不生成set方法 对于private修饰的 变量,scala生成的get/set 也是私有的 2.若要想访问私有的变量,必须重新定义get/set class obb() { private[this] var mprivateAge: Int = 0 def privateAge: Int ={ println("调用了get") th原创 2021-09-09 19:46:16 · 524 阅读 · 0 评论 -
scala 常用知识总结
1:scala 的变量定义 类型可以不声明,也可以显示声明,得益于scala的类型推断,如果你想更加清晰 可以声明出来。eg:val name:String = "张三" 关于语句结束符";",可以写也可以省略,那么省略就是了 2:scala 的函数定义 def fuction(x:Int,y:Int) :Int={ if(x>y) x else ...原创 2021-03-08 16:17:28 · 204 阅读 · 0 评论 -
scala递归读取目录下的所有的文件逐行输出
package scala import java.io.File import scala.io.Source //前几天写了个java递归读取,正好今天开发scala代码,经过测试scala读取也很是方便,而且要比java递归读取更加的简洁哇哈哈哈 object ReadFile { def main(args: Array[String]): Unit = { val it =...原创 2019-01-25 18:44:43 · 1465 阅读 · 2 评论 -
spark读取csv文件用类进行封装最后转成json写出到本地
package scala import com.google.gson.{Gson, JsonObject, JsonParser} import org.apache.spark.sql.{Row, SaveMode, SparkSession} object CsvParse { case class Data(callerip: String,callere164: Strin...原创 2019-01-25 17:28:04 · 900 阅读 · 0 评论 -
scala actor 多线程测试
package com.Actor import java.io.File import scala.actors.Actor import scala.io.Source /** * author pg * date 2018-12-17 */ //本程序是用scala 原生的actor进行多线程读取目录文件的测试,目录下面总共是1000多一点的文件!逻辑是一个文件启动一个a...原创 2018-12-17 18:16:25 · 274 阅读 · 0 评论