一些scala的操作
Scala获取当前目录下所有文件
import java.io.File //获取目录下的所有文件,当前项目目录输入new File(".") def getFiles1(dir: File): Array[File] = { dir.listFiles.filter(_.isFile) ++ dir.listFiles.filter(_.isDirectory).flatMap(getFiles1)
Scala中路径的表示
如:
val visitlog = sc.textFile(".\\src\\main\\resources\\teacher.log")
scale中进行数组Array的分割
var list = ArrayBuffer[String]() list ++= x list.trimEnd(1)//删去末尾1位,前面用trimStart(1)
scala中的case
1、 它可以用作模式匹配
2、 case也可以使用在类class前面声明为case class ,class之前添加case可以自动生成equal、hashcode、toString、copy方法 和他的半生对象,并且为半生对象生成apply、unapply方法。
参考:
https://blog.csdn.net/sinat_35045195/article/details/78851476
scala中class和object的区别
1、class
scala的类和C#中的类有点不一样,诸如: 声明一个未用priavate修饰的字段 var age,scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set ,这和C#的简易属性类似;若使用了private修饰,则它的方法也将会是私有的。这就是所谓的统一访问原则。
2、 scala没有静态的修饰符,但object下的成员都是静态的 ,若有同名的class,这其作为它的伴生类。在object中一般可以为伴生类做一些初始化等操作,如我们常常使用的val array=Array(1,2,3) (ps:其使用了apply方法)
https://www.cnblogs.com/moonandstar08/p/5240222.html
当你深入了解,你就会发现世界如此广袤,而你对世界的了解则是如此浅薄,请永远保持谦卑的态度。