如何告诉Scala使用正确的Java构造函数?

TOB*_*TOB 2 scala

我正在尝试在Scala中使用JodaTime.所以我做了

import org.joda.time.DateTime

val dt = new DateTime(2011, 10, 8, 18, 30) // try to set to 6:30 pm, Oct 8, 2011
Run Code Online (Sandbox Code Playgroud)

不幸的是,Scala认为我正在尝试使用DateTime(Object)构造函数而不是5 int构造函数,并且毫不奇怪,Tuple5不是JodaTime所期望的那种对象.

如何告诉Scala使用5-int构造函数?

托德

lee*_*777 8

您可能正在使用较旧版本的JodaTime.在JodaTime 2.0之前,您尝试使用的构造函数不存在.

较旧版本的JodaTime没有5个参数.由于Scala找不到一个,它假设你试图传入一个与Object ctor匹配的元组.您可以在这个优秀的答案中找到更多细节.