相关疑难解决方法(0)

如何覆盖案例类伴随中的应用

所以情况就是这样.我想像这样定义一个case类:

case class A(val s: String)
Run Code Online (Sandbox Code Playgroud)

我想定义一个对象,以确保在创建类的实例时,'s'的值始终为大写,如下所示:

object A {
  def apply(s: String) = new A(s.toUpperCase)
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为Scala抱怨apply(s:String)方法定义了两次.我理解case类语法会自动为我定义它,但是我不能用另一种方法来实现它吗?我想坚持使用case类,因为我想将它用于模式匹配.

scala pattern-matching case-class

81
推荐指数
5
解决办法
4万
查看次数

从Scala中的其他类导入函数

比方说我有

class foo{
  def bar = 7
}

class qaz{
  //Here I want to have something like: val foobar = bar
  //What I don't want to have is val foobar = (new foo).bar   
}
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?

import scala class function

3
推荐指数
1
解决办法
4333
查看次数

标签 统计

scala ×2

case-class ×1

class ×1

function ×1

import ×1

pattern-matching ×1