通过Scala类作为参数?
发布时间:2020-12-16 09:01:32 所属栏目:安全 来源:网络整理
导读:我正在将Class作为参数传递给 Scala函数,如下所示: def sampleFunc (c : Class) : List[Any] (Side问题:参数中的类型是Class还是Class [_]?) 我传递类类型的原因是检查对象是否属于特定类型.目前,作为解决方法,我将一个示例对象传递给该方法,并比较两个对
我正在将Class作为参数传递给
Scala函数,如下所示:
def sampleFunc (c : Class) : List[Any] (Side问题:参数中的类型是Class还是Class [_]?) 我传递类类型的原因是检查对象是否属于特定类型.目前,作为解决方法,我将一个示例对象传递给该方法,并比较两个对象的.getClass结果.我几乎不认为这是理想的,我相信在Scala中有一个明确定义的方式来传递类型. 解决方法
那么你原来的问题是:你可以通过Scala Class作为参数.
由于Class是一个类型构造函数,它需要一个具体的类型来使一个类型在参数中使用.您可以像使用通配符存在类型[_]. def sample(c: Class[_]) = println("Get a class") sample(classOf[Int]) 但是,如果要检查某个对象是否是某种类型,建议您使用= = =与默认参数相结合 def checkType[T](obj: T)(implict ev: T =:= Int = null) = if (ev == null) "get other" else "get int" checkType(123) // get int checkType("123") // get other (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 角度 – 离子服务在’build dev started’之后停止
- Scala:隐式参数中的错误
- WebService从零到项目开发使用1—技术研究之基础篇 SOAP
- scala – 如何使用Play Framework 2.0创建全局变量
- angularjs – Angular路由器解析导致未知的提供程序错误
- scala – SBT Assembly – 重复数据删除错误和排除错误
- ace bootstrap后台框架-widgetBox
- 如何检测用户是否点击Angularjs中的浏览器返回按钮
- BZOJ 1895 & POJ 3580 supermemo [SPLAY]【数据结构】
- cobalt strike和metasploit结合使用(互相传递shell会话