回答
也许你的意思是这样的对象
object MyListMaker {
def test[A](a0: A, n: Int): List[A] = (1 to n).map(_ => a0).toList
}
scala> MyListMaker.test("Fish",7)
res0: List[java.lang.String] = List(Fish, Fish, Fish, Fish, Fish, Fish, Fish)
只有一个副本的存在;如果您想要创建一个通用的方法,请将类型参数添加到方法中(而不是对象)。
特征或对象不能有构造函数参数,并且对象不能有类型参数。
一个对象实际上是一个类的单例实例。因此你不能有一个通用的定义,因为它只有一个名字。
你最好的选择是在一个对象内定义一个返回你想要的列表的方法。
那么生成某种类型的List的最佳方法是什么? – matiit 2010-06-27 08:29:38
性状当然*可能*有类型参数!对象可能不是。 – 2010-06-27 14:31:16
澄清:特征可以具有类型参数,但不包含构造函数参数。回答编辑 – 2010-06-27 15:43:06
- 1. 斯卡拉对象
- 2. 斯卡拉保护对象
- 3. 斯卡拉 - 可以'这个'在斯卡拉为空对象?
- 4. 对于斯卡拉
- 5. 斯卡拉+卡斯巴对象映射的良好做法
- 6. 斯卡拉空课堂,对象,特质
- 7. 斯卡拉继承和对象创建
- 8. 斯卡拉:同伴对象宗旨
- 9. 斯卡拉伴侣对象模板(Iterator.tabulate)
- 10. 斯卡拉:一个单独的对象
- 11. 如何从org.elasticsearch.search.suggest.Suggest对象斯卡拉
- 12. 斯卡拉包对象 - VAL声明
- 13. 困惑斯卡拉Singleton对象
- 14. 斯卡拉宏观修改对象
- 15. 对象光滑不包斯卡拉的
- 16. 斯卡拉对象作为字段
- 17. 转换JSON来斯卡拉对象
- 18. 斯卡拉对象与Java Class.newInstance斗争()
- 19. 玩斯卡拉返回两个对象
- 20. 斯卡拉:case类转换为对象
- 21. 斯卡拉域对象建模
- 22. 斯卡拉 - 新的vs对象扩展
- 23. 对象的斯卡拉类型参数
- 24. 斯卡拉 - 域对象建模
- 25. 抽象类与斯卡拉
- 26. 斯卡拉抽象类
- 27. 斯卡拉对变换Seq
- 28. 提高对JVM斯卡拉
- 29. 转换一览[名单[对象]列出[对象]在斯卡拉
- 30. 斯卡拉在斯卡拉类
你应该使用'apply'而不是'test'的方法,这会给所要求的语法提供更接近的语法。 – 2010-06-28 01:19:17
@丹尼尔 - 也许是吧。我很难弄清楚被问到的是什么,并且使用'apply'在理解它的工作原理时增加了额外的皱纹。但是,是的,用'def apply ...',它只是'MyListMaker(“Fish”,7)'。我更担心在没有任何“A”的情况下列出“A”列表。 – 2010-06-28 15:38:15