scala 查看对象类型 check type

(Tested in Scala 2.8)
scala> def manOf[T: Manifest](t: T): Manifest[T] = manifest[T]
manOf: [T](t: T)(implicit evidence$1: Manifest[T])Manifest[T]
scala> manOf(1)
res0: Manifest[Int] = Int
scala> manOf("")
res1: Manifest[java.lang.String] = java.lang.String
scala> val m = manOf(List(1))
m: Manifest[List[Int]] = scala.collection.immutable.List[Int]
scala> m.erasure
res7: java.lang.Class[_] = class scala.collection.immutable.List
scala> m.typeArguments
res9: List[scala.reflect.Manifest[_]] = List(Int)
scala> val m2 = manOf(List(1, "string"))
m2: Manifest[List[Any]] = scala.collection.immutable.List[Any]
scala> m <:< m2
res10: Boolean = true


scala> "123"
res0: java.lang.String = 123
scala> 123
res1: Int = 123
scala> 12.3
res2: Double = 12.3
scala> "123".getClass.getSimpleName
res3: java.lang.String = String
scala> 123.asInstanceOf[AnyRef].getClass.getSimpleName
res5: java.lang.String = Integer
scala> 12.3.asInstanceOf[AnyRef].getClass.getSimpleName
res6: java.lang.String = Double


参考: 点击打开链接http://www.scala-lang.org/old/node/6410



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值