我有一个带有构造函数的类,它由一个字符集和一个字符串类型的可变参数组成。我想要一个仅带有 vararg 的便捷构造函数,它将使用 defaultCharset 和 vararg 调用主构造函数。
class StringMessage(charset: Charset, frames: String*) {
def this(frames: String*) = this(Charset.defaultCharset, frames)
}
不幸的是,我展示的课程给出了两个错误:
called constructor's definition must precede calling constructor's definition
和
overloaded method constructor StringMessage with alternatives:
(frames: String*)mypackage.StringMessage <and>
(charset: java.nio.charset.Charset,frames: String*)mypackage.StringMessage
cannot be applied to (java.nio.charset.Charset, String*)
def this(frames: String*) = this(Charset.defaultCharset, frames)
^
模拟这种情况的最佳方法是什么?