一些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

当你深入了解,你就会发现世界如此广袤,而你对世界的了解则是如此浅薄,请永远保持谦卑的态度。
原文地址:https://www.cnblogs.com/liwxmyself/p/11345523.html