ClassTag 、Manifest、ClassManifest、TypeTag代码实战及其在Spark中的应用源码解析之Scala学习笔记-37
package com.leegh.parameterization
import scala.reflect.ClassTag
/**
* @author Guohui Li
*/
class A[T]
object Manifest_ClassTag {
def main(args: Array[String]): Unit = {
def arrayMake[T: Manifest](first: T, second: T) = {
val r = new Array[T](2); r(0) = first; r(1) = second; r
}
arrayMake(1, 2).foreach(println)
/**常用ClassTag*/
def mkArray[T: ClassTag](elems: T*) = Array[T](elems: _*)
mkArray(42, 13).foreach(println)
mkArray("Japan", "Brazil", "Germany").foreach(println)
val m = manifest[A[String]]
println(m)
val cm = classManifest[A[String]]
println(cm)
}
}
附:
本博客说明:
1.整理思路,提高自己。
2.受教于王家林老师,有所收获,故推荐。
3.博客注重实践,多余的文字就不多说了,都是做技术的。
4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group
王家林《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html
王家林《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html