При создании реализаций заглушек 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
Преобразован в Scala, он выглядит так:
override def prepareStatement(sql: String, columnIndexes: Array[Int]): PreparedStatement
override def prepareStatement(sql: String, columnNames: Array[String]): PreparedStatement
но в Scala 2.9.2 это не будет компилироваться, поскольку мы различаем только параметрический тип. Помимо внедрения заглушек в Java, может ли кто-нибудь предложить умное решение?
Я был удивлен тем, что не смог найти какое-либо предварительное обсуждение этой особой проблемы Scala/Java interop... достаточно легко найти обсуждение аналогичной проблемы с varargs. Наверняка кто-то сталкивался с этим вопросом раньше? Любые указатели на предыдущее обсуждение или проблемы в Scala отслеживании проблем?