1.方法转换为函数

例如:

def m1(x:Int,y:Int)=x*y   
val f1=m1 _

Scala下划线用法总结_开发语言

2.集合中的每一个元素

例如:

val list=List(1,2,3,4)
val list1=list.map(_ * 10)

Scala下划线用法总结_开发语言_02

3.从元组中获取元素

例如:

val t=("scala",3.14,100)
t._1
t._2
t._3

Scala下划线用法总结_hadoop_03

4.模式匹配

例如:

val word="hadoop"
val result =word match{
case "hadoop" => 1
case "spark" => 2
case _ => 0 //以上都没有匹配到才会被执行
}

Scala下划线用法总结_hadoop_04

5.队列

例如:

val list=List(1,2,3,4)
list match{
case List(_,_*) =>1
case _ =>2
}

Scala下划线用法总结_hadoop_05

6.导包

例如:

import scala.collection.mutable._
表示引入的时候将scala.collection.mutable包下面所有的类都导入

Scala下划线用法总结_开发语言_06

7.初始值

scala> var name:String = _
name: String = null
//在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。
scala> var age:Int = _
age: Int = 0//在这里,age也可以声明为0,例:var age:Int=0。这里的下划线和0的作用是一样的。