Scala 深入浅出实战经典 第42讲:scala 泛型类,泛型函数,泛型在spark中的广泛应用

王家林亲授《DT大数据梦工厂》大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
技术爱好者尤其是大数据爱好者 可以加DT大数据梦工厂的qq群

DT大数据梦工厂① :462923555
DT大数据梦工厂②:437123764
DT大数据梦工厂③ :418110145

本视频由王家林老师, 亲自讲解, 完全通过代码实战把您带人大数据的时代.

package com.parllay.scala.type_parameterizitor

/**
* Created by richard on 15-7-26.
* 第42讲:scala 泛型类,泛型函数,泛型在spark中的广泛应用
*
*/

/**
* 以下定义了一个泛型类, 定义泛型使用[], 和参数()的区别.
* @param first
* @param second
* @param third
* @tparam F
* @tparam S
* @tparam T
*/
class Triple[F, S, T] (val first: F, val second: S, val third: T)

object Hello_Type_Parameterzitor {

def main(args: Array[String]) {

/**
* 以下类型scala会根据类型推断器推导出来.
* F is String, S is double, T is int
*/
val triple = Triple("Hello", 7.26, 28)

/**
* 以下实例三个参数的类型被固定为String, int, int
*/
val data = Triple[String, Int, Int]("Spark", 1, 2)

/**
* 下面定义泛型方法
*/
def getData[T](list: List[T]) = list(list.length/2)
println(getData(List("Spark", "Hadoop", "R")))//output Hadoop

/**
* 在这里函数可以赋值给变量, 函数是一等公民
*/
val f = getData[Int] _
println(f(List(1, 2, 3, 4, 5, 6, 6, 8))) //output 5


}

}

  

原文地址:https://www.cnblogs.com/czh-liyu/p/4681231.html