Scalaで実装したいJavaインターフェースがあります。インターフェイスには、次のメソッド宣言が含まれています。
public Boolean existsTable(String tableId);
私のScala実装は次のとおりです。
override def existsTable(tableId: String): Boolean = {
val dbmeta = connection.getMetaData()
val dbtables = dbmeta.getTables(null, null, channelId, null)
if (dbtables.next())
// table exists
return true
else
return false
}
何らかの理由で、「タイプ (tableId: String)Boolean の trait xyz でメソッド existsTable をオーバーライドしています。メソッド existsTable には互換性のない型があります」というエラーが表示されます。
しかし、戻り値の型は単なるブール値であるため、互換性のない型がどこにあるのか本当にわかりませんか?
ご挨拶。
PS: このメソッドは、インターフェイスを実装していなかったときに、以前と同じように機能していたので、メソッド自体にエラーはないはずです。私が苦労しているのは、Scala での Java インターフェイスの実装だけです。