您的位置:首页 > 其它

Scala深入浅出进阶经典 第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用

2015-09-24 23:58 483 查看
package com.dt.scalaInAction.demo_042

import scala.reflect.ClassTag

/**
* 定义一个泛型类 []中定义的就是未知的类型 只有赋值使用时才能确定具体的类型
*/
class Triple[X: ClassTag, Y, Z](val first: X, val second: Y, val thrid: Z)

/**
* Scala中泛型类、泛型函数、泛型在Spark中的广泛应用
*/
object Hello_Type_Parameterization {
def main(args: Array[String]): Unit = {
//在定义后scala的类型推断会得出triple类型为 Triple[String, Int, Double]
val triple = new Triple("Spark", 3, 3.1415926)
//显示声明类型
val bigData = new Triple[String, String, Char]("Spark", "Hadoop", 'R')

//定义泛型函数
def getData[T](list: List[T]) = list(list.length / 2)
println(getData(List("Spark", "Hadoop", 'R')))  //Hadoop

val f = getData[Int] _  //显式指定类型    //val f: List[Int] => Int
println(f(List(1,2,3,4,5,6,7,8))) //5

def foo[A, B](f: A => List[A], b: A) = f(b)
}
}


以上内容是从王家林老师DT大数据课程第42讲的学习笔记和个人整理。

DT大数据微信公众账号:DT_Spark

王家林老师QQ:1740415547

王家林老师微信号:18610086859

第42讲视频网站地址:http://pan.baidu.com/s/1sjsmSXZ
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: