Scala 槽点 - require
2019-10-12 08:26:17来源:博客园 阅读 ()
Scala 槽点 - require
require
def this(name: String, age: Int) = {
this()
require(name != null && !name.isEmpty, "name")
require(age > 0, "illegal age")
Preconditions.checkArgument(name != null && !name.isEmpty, "name required") // 使用 guava 工具类,这行编译不过... 改写为下两种调用方式可通过
// Preconditions.checkArgument(name != null && !name.isEmpty, "name required".asInstanceOf[Any])
// Preconditions.checkArgument(name != null && !name.isEmpty, "name required", null)
setAge(age)
setName(name)
}
什么鬼
require
- 函数签名:
final def require(requirement: Boolean, message: => Any)
,注意第二个参数类型是一个函数 - 以上栗子中调用了两次
require
函数,生成两个匿名对象...
- 函数签名:
- ambiguous reference to overloaded definition
- 编译错误信息:
Error:(44, 21) ambiguous reference to overloaded definition, both method checkArgument in object Preconditions of type (x$1: Boolean, x$2: String, x$3: Object*)Unit and method checkArgument in object Preconditions of type (x$1: Boolean, x$2: Any)Unit match argument types (Boolean,String) Preconditions.checkArgument(name != null && !name.isEmpty, "name required")
- 编译错误信息:
原文链接:https://www.cnblogs.com/xsj24/p/11649402.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- SOFA入门 2020-05-26
- Lambda表达式用法大比较: Scala和Java 8 2020-05-26
- 在IntelliJ IDEA中创建和运行java/scala/spark程序 2020-05-18
- Scala函数式编程(五) 函数式的错误处理 2020-02-20
- Scala函数式编程(四)函数式的数据结构 下 2019-12-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash