码迷,mamicode.com
首页 > 其他好文 > 详细

第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用

时间:2015-09-04 18:23:11      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

今天来了解下scala的泛型

先让我们看下这段代码

 

  class Triple[F,S,T](val first:F,val second: S,val third: T)

 

    val triple = new Triple("Spark",3,3.1415)
   
    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‘)))
   
    val f = getData[Int] _
    println(f(List(1,2,3,4,5,6,7,8)))
   

首先,定义一个Triple类,我们可以看到,它的类的类型是[F,S,T],并不是明确的scala下的某个类型。这样的叫做泛型。

比如我们定义一个List[A],它是any类型,而List[Int]是整数类型,Int是Any的子类型,因此List[A]是List[Int]的父类型。

这样的做法,可以使类定义后,适应很多种类型。比如上面的代码中,很一个triple,我们可以看出,它的类型就是[String,Int,Double],而bigData的类型是[String,String,Char],他们都属于[F,S,T]类型。

再来看看函数泛型。它与类的泛型一样,可以用[T]来表示。这样就可以有很多的适用性。

 

分享下更多的scala资源吧:

 

百度云盘:http://pan.baidu.com/s/1gd7133t

 

微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416

 

360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)

 

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

 

关注微信账号,获取更多关于scala学习内容

 

第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用

标签:

原文地址:http://www.cnblogs.com/qingyuesama/p/4781964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!