Scala:如何使用更多构造函数实现Java类
我搜索了几个小时,但没有找到解决方案: 我想实现一个Scala类,它扩展了一个具有不同构造函数的Java类:Scala:如何使用更多构造函数实现Java类,scala,scala-2.11,Scala,Scala 2.11,我搜索了几个小时,但没有找到解决方案: 我想实现一个Scala类,它扩展了一个具有不同构造函数的Java类: AbstractTableAdapter() AbstractTableAdapter(ListModel listModel) AbstractTableAdapter(String... columnNames) AbstractTableAdapter(ListModel listModel, String... columnNames) Java类(JGoodies): Lis
AbstractTableAdapter()
AbstractTableAdapter(ListModel listModel)
AbstractTableAdapter(String... columnNames)
AbstractTableAdapter(ListModel listModel, String... columnNames)
Java类(JGoodies):
ListModel是一个通用接口,如果这很重要:
public interface ListModel<E>
但这会发出以下错误信息:
error: overloaded method constructor AbstractTableAdapter with alternatives:
[INFO] (x$1: javax.swing.ListModel[_],x$2: String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book] <and>
[INFO] (x$1: String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book]
[INFO] cannot be applied to (com.jgoodies.binding.list.SelectionInList[eu.eyan.idakonyvtar.model.Book], Array[String])
[INFO] extends AbstractTableAdapter[Book](listModel, columnNames) {
[INFO] ^
[ERROR] one error found
错误:重载了方法构造函数AbstractTableAdapter,并带有可选项:
[信息](x$1:javax.swing.ListModel[x],x$2:String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book]
[INFO](x$1:String*)com.jgoodies.binding.adapter.AbstractTableAdapter[eu.eyan.idakonyvtar.model.Book]
[INFO]无法应用于(com.jgoodies.binding.list.SelectionList[eu.eyan.idakonyvtar.model.Book],数组[String])
[INFO]扩展AbstractTableAdapter[Book](列表模型,列名称){
[信息]^
[错误]发现一个错误
我认为字符串…
导致了这个问题。。
有可能扩展这样一个抽象类吗?
谢谢:
András您可以使用
:*
语法将传入数组中的结构分解为vararg的各个元素,即:
case class Base(strs: String*) { }
class Sub(ary: Array[String]) extends Base(ary:_*) { }
编辑:注意,
WrappedArray
(vararg的结果)扩展了ArrayLike
,但我不相信它是一个数组
您可以使用:\u*
语法将传入数组中的结构分解为vararg的各种元素,即:
case class Base(strs: String*) { }
class Sub(ary: Array[String]) extends Base(ary:_*) { }
编辑:注意,
WrappedArray
(vararg的结果)扩展了ArrayLike
,但我不相信它是一个数组
您可以使用:\u*
语法将传入数组中的结构分解为vararg的各种元素,即:
case class Base(strs: String*) { }
class Sub(ary: Array[String]) extends Base(ary:_*) { }
编辑:注意,
WrappedArray
(vararg的结果)扩展了ArrayLike
,但我不相信它是一个数组
您可以使用:\u*
语法将传入数组中的结构分解为vararg的各种元素,即:
case class Base(strs: String*) { }
class Sub(ary: Array[String]) extends Base(ary:_*) { }
编辑:注意,
WrappedArray
(vararg的结果)扩展了ArrayLike
,但我不相信它是一个数组
解决方案确实是用以下内容标记字符串…参数:_*
class LibraryListTableModel(listModel: SelectionInList[Book], columnNames: String*) extends AbstractTableAdapter[Book](listModel, columnNames: _*) {...}
这篇文章也有帮助:
解决方案实际上是用以下内容标记字符串…参数:_*
class LibraryListTableModel(listModel: SelectionInList[Book], columnNames: String*) extends AbstractTableAdapter[Book](listModel, columnNames: _*) {...}
这篇文章也有帮助:
解决方案实际上是用以下内容标记字符串…参数:_*
class LibraryListTableModel(listModel: SelectionInList[Book], columnNames: String*) extends AbstractTableAdapter[Book](listModel, columnNames: _*) {...}
这篇文章也有帮助:
解决方案实际上是用以下内容标记字符串…参数:_*
class LibraryListTableModel(listModel: SelectionInList[Book], columnNames: String*) extends AbstractTableAdapter[Book](listModel, columnNames: _*) {...}
这篇文章也有帮助: