我想探索使用scala的Datastax Cassandra CQL3驱动程序,但我认为我可能在第一个障碍上就失败了。
在the Javadoc中创建Cluster对象的方法中,addContactPoints
有一个重载方法,该方法采用String序列或java.net序列。InetAddress作为参数。是否有一种方法可以用惯用的Scala方式对此进行建模,以便我可以尝试对输入参数的类型和arity进行模式匹配,以调用正确的方法。
具有
import com.datastax.driver.core.Cluster
def cp = Cluster.builder().addContactPoint _
def cps = Cluster.builder().addContactPoints _
cp返回
cp: String => com.datastax.driver.core.Cluster.Builder
然而,cps给出了
error: ambiguous reference to overloaded definition,
both method addContactPoints in class Builder of type (x$1: <repeated...>[java.net.InetAddress])com.datastax.driver.core.Cluster.Builder
and method addContactPoints in class Builder of type (x$1: <repeated...>[String])com.datastax.driver.core.Cluster.Builder
match expected type ?
1条答案
按热度按时间o3imoua41#
显式指定函数的类型怎么样?