使用Scala中的Datastax Cassandra驱动程序

wnavrhmk  于 2022-09-27  发布在  Scala
关注(0)|答案(1)|浏览(221)

我想探索使用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 ?
o3imoua4

o3imoua41#

显式指定函数的类型怎么样?

import com.datastax.driver.core.Cluster

def cp = Cluster.builder().addContactPoint _
def cps(addresses: [String]) : Cluster.Builder = Cluster.builder().addContactPoints(addresses)

相关问题