小编how*_*nch的帖子

覆盖Scala,重载以数组类型区分的Java方法

当创建的存根实现java.sql.Connection,DataSource,ResultSet& C.对于Scala功能测试,我遇到了几种Java方法过载的情况,每种方法只能通过数组参数的类型来区分.例如(来自java.sql.Connection):

PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
Run Code Online (Sandbox Code Playgroud)

转换为Scala,它看起来像这样:

override def prepareStatement(sql: String, columnIndexes: Array[Int]): PreparedStatement 
override def prepareStatement(sql: String, columnNames: Array[String]): PreparedStatement
Run Code Online (Sandbox Code Playgroud)

但是在Scala 2.9.2中,这不会编译,因为我们只能通过参数类型进行区分.除了在Java中实现存根之外,任何人都可以提出一个聪明的解决方案吗?

我很惊讶没有能够找到任何关于这个特定的Scala/Java互操作问题的讨论......很容易找到与varargs类似问题的讨论.当然有人之前遇到过这个问题吗?对Scala问题跟踪器中早期讨论或问题的任何指示?

scala

11
推荐指数
1
解决办法
572
查看次数

标签 统计

scala ×1