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

Scala泛型

时间:2018-11-24 11:30:11      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:get   方法   fun   函数   create   类型   style   tag   dataset   

 1 package big.data.analyse.dataSet
 2 
 3 import scala.reflect.ClassTag
 4 
 5 /**
 6   * 泛型
 7   * Created by zhen on 2018/11/24.
 8   */
 9 class Triple[F : ClassTag, S , T](val first : F, val second : S, val third : T)
10 /**
11   * 泛型类型限定
12   */
13 class Pair[T <: Comparable[T]](val left : T, val right : T){
14   def bigger = if(left.compareTo(right) > 0) left else right
15 }
16 object Genericity {
17   def main(args: Array[String]) {
18     // 不显式指明泛型类型,使用类型推导
19     val triple = new Triple("Spark", 6, 2.5)
20     // 显式指明泛型类型
21     val tagTriple = new Triple[String, Int, Double]("Python",12, 3.6)
22 
23     //定义方法
24     def getData[T](list : List[T]) = list.mkString
25     println(getData(List("I ", "like ", "Spark")))
26     // 高阶函数
27     val function = getData[String] _
28     println(function(List("Python ", "also ", "powerful")))
29     //测试泛型限定
30     val pair = new Pair("Spark" ,"Python")
31     println(pair.bigger)
32   }
33 }

结果:

技术分享图片

 

Scala泛型

标签:get   方法   fun   函数   create   类型   style   tag   dataset   

原文地址:https://www.cnblogs.com/yszd/p/10011079.html

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