-
1 votesanswersviews
扩展用户定义的更高级别的kinded类型
我在scala中有更高级别的kinded类型的用户定义别名: type FutureOfLastError = Future[LastError] 我也有这种类型的值: val myFuture: FutureOfLastError = ... 要编写可读代码,我想定义(例如)一个类似的方法 def mapToString = { ... } 它将FutureOfLastError的一个实例... -
11 votesanswersviews
具有伴随对象的类与具有相同名称的类和对象之间的区别是什么?
一个Scala类's 2638380 can be viewed as a singleton object with the same fully qualified name as the class (i.e. same name, in same package). They are used to hold utility functions common to all instan... -
34 votesanswersviews
如何谈论伴侣对象与常规对象?
我是第一次教斯卡拉,我的学生们发现故意“惩罚”涉及伴侣物体非常混乱 . 请考虑以下示例: class Stack { ... methods such as push/pop } object Stack { ... factory method(s) and possibly others } 当我使用诸如“堆栈对象”或“堆栈对象”之类的语言短语或尤其是“堆栈对象”时,会出现混淆 .... -
1 votesanswersviews
Scala中Set的伴随对象
从“Scala编程”一书中,这样做: var jetSet = Set("Boeing", "Airbus") 在scala.collection.immutable.Set的伴随对象上调用'apply',它返回默认的不可变Set的实例 . 但是不是为具有相同名称的类定义的伴随对象,而scala.collection.immutable.Set是一个特征而... -
0 votesanswersviews
无法在随播对象方法中创建伴随类实例
这段代码有什么问题: class Trivials(s:String){ private val x = 0 } object Trivials { def main(args: Array[String]): Unit = { Trivials t = new Trivials("Trivials") } } 类和对象都在同一个源文件中定义,因此它们是... -
8 votesanswersviews
Kotlin - 是否可以在类中的init块之前初始化伴随对象?
是否可以在Kotlin类中的 init 块之前初始化 companion object ?如果是这样,怎么样?如果没有,有没有办法完成同样的事情 . 我有以下场景, class A(val iname: String) { init { foo.add(this) } companion object B { @JvmField val STATIC = A(&quo... -
79 votesanswersviews
Scala的apply()方法魔法是如何工作的?
在Scala中,如果我在类或顶级对象中定义一个名为 apply 的方法,那么每当我将一个圆括号添加到该类的实例时,将调用该方法,并在它们之间放置适当的 apply() 参数 . 例如: class Foo(x: Int) { def apply(y: Int) = { x*x + y*y } } val f = new Foo(3) f(4) // retur... -
38 votesanswersviews
为什么case类伴随对象扩展了FunctionN?
创建案例类时,编译器会创建一个对应的伴随对象,其中包含一些案例类的好处:与主构造函数 equals , hashCode 和 copy 匹配的 apply 工厂方法 . 奇怪的是,这个生成的对象扩展了FunctionN . scala> case class A(a: Int) defined class A scala&g... -
1 votesanswersviews
如何从kotlin中的对象实例访问伴侣对象?
带伴随对象的简单示例类 class MyClass{ companion object{ val test = 25 } } 可以通过 MyClass.test 访问值测试,但是如何从MyClass实例访问?如果我有 val sample = MyClass() ,那么如何从样本中访问测试? sample::class.test 不正确....有办法吗? 问题已经提出:'为什... -
0 votesanswersviews
“Parcelable协议需要一个名为CREATOR的Parcelable.Creator对象”(我确实有CREATOR) - 在Kotlin
我收到错误消息"Parcelable protocol requires a Parcelable.Creator object called CREATOR on class .....",但我确实有一个创作者,我不知道它有什么问题 . 我从https://developer.android.com/reference/android/os/Parcelable复制了它,并更... -
0 votesanswersviews
引用时,Kotlin Companion Object为null
不确定我是否正确使用此伴侣对象 . 数据类: data class AppModel( val name: String, val items: List<ItemModel>, ) 设置数据: open class PathManager() { companion object { var shared = PathManager() ...