Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala:如何使用更多构造函数实现Java类_Scala_Scala 2.11 - Fatal编程技术网

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

我搜索了几个小时,但没有找到解决方案:

我想实现一个Scala类,它扩展了一个具有不同构造函数的Java类:

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: _*) {...}
这篇文章也有帮助: