scala中Tuple简单使用】的更多相关文章

/** * Tuple简单使用记录 * 最大22个参数 */ object TupleUse { def main(args: Array[String]): Unit = { // 简单Tuple val t = ("yxj", 30) // Tuple2 println(t._1) // 访问Tuple中的数据,从1开始,带上下划线 println(t._2) val student = new Tuple3(1, "yxj", 30) // Tuple3 pr…
/** * 在scala中数组的使用 * 和java很类似,初始化后,长度就固定了,而且元素全部根据其类型初始化 * */ object arrayUse { def main(args: Array[String]): Unit = { val a = new Array[Int](9) a(0) = 1 // 数组元素的赋值 println(a(0)) // 1 // 未赋值的元素访问 println(a(1)) // 0 // 也可以使用如下方法,不用关键字new来创建 val names…
trait Log { def log(message:String) = println("log:" + message) } /** * 为实例混入trait * */ trait Logs{ def log(message:String){} } trait MyLog extends Logs { override def log(message: String): Unit = { println("log:" + message) } } class…
import scala.collection.mutable.ArrayBuffer /** * 与Array区别: * 1.Array是不可变的,不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素 * 2.ArrayBuffer是可变的,提供了很多元素的操作,包括删除的操作 * 他们相互转化很方便,调用toArray .toBuffer方法即可 */ object ArrayBufferUse { def main(args: Array[Strin…
object funcHighLevel { def main(args: Array[String]): Unit = { // 创建一个匿名函数 val sayFunc = (name: String) => println("hello ," + name) // 定义一个方法传入一个函数 def greeting(func: (String) => Unit, names: String) { func(names) } // 在定义一个 name,age是参数 v…
尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种有哪些异同呢?说实话,我之前一直没弄明确,所以今天特意花了点时间学习了一下. 同样点: 1.长度都是固定的,不可变长 2.早期的Scala版本号,Array.List都不能混合类型,仅仅有Tuple能够,2.8版本号以后,3者的元素都能够混合不同的类型(转化为Any类型) 不同点: 1.Array…
看源码的时候看到: trait ExtensionId[T <: Extension] { 没见过这个符号啊<: Scala上界(<:)和下界(>:) 1) U >: T 这是类型下界的定义,也就是U必须是类型T的父类(或本身,自己也可以认为是自己的父类). 2) S <: T 这是类型上界的定义,也就是S必须是类型T的子类(或本身,自己也可以认为是自己的子类). 然后scala中的泛型符号是[T],而不是Java中的<T>. 对于一个带类型参数的类型,比如…
object Closure { /** * scala中的闭包 * 函数在变量不处于其有效作用域内,还能够对变量进行访问 * * @param args */ def main(args: Array[String]): Unit = { def getHelloFunc(msg:String) = (name:String) => println(msg + "," + name) val sayHello = getHelloFunc("hello")…
/** * scala 中List的使用 * */ object ListUse { def main(args: Array[String]): Unit = { def decorator(l:List[Int] , prefix:String){ if(l != Nil) { println(prefix + l.head) decorator(l.tail , prefix) } } // List 是不可变的列表 val list = List(1,2,3,4,5,6,7) decor…
一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹配的基本格式如下: data match { case ... => 执行语句 case ... => 执行语句 case _  => 执行语句 } 其中,data表示将要进行模式匹配的对象,match是模式匹配的关键字,后面紧跟的{}中包含若干条匹配的方向,且只会匹配其中满足条件的第一条:…