斯卡拉.获取列表的第一个元素
发布时间:2020-12-16 19:06:55 所属栏目:安全 来源:网络整理
导读:为什么queue.get()返回empy列表? class MyQueue{ var queue=List[Int](3,5,7) def get(){ this.queue.head }}object QueueOperator { def main(args: Array[String]) { val queue=new MyQueue println(queue.get()) }} 我如何获得第一个元素? 解决方法 它
为什么queue.get()返回empy列表?
class MyQueue{ var queue=List[Int](3,5,7) def get(){ this.queue.head } } object QueueOperator { def main(args: Array[String]) { val queue=new MyQueue println(queue.get()) } } 我如何获得第一个元素? 解决方法
它没有返回空列表,它返回Unit(零元组),这是Scala在Java中相当于void.如果它返回空列表,您将看到List()打印到控制台而不是()(nullary tuple).
问题是您使用get方法错误的语法.您需要使用= =来表示get返回值: def get() = { this.queue.head } 或者这可能更好: def get = this.queue.head 在Scala中,通常,对于没有副作用的空值函数,通常不要使用括号(参数列表),但是这也要求您在调用queue.get时关闭括号. 您可能想要快速浏览Scala Style Guide,特别是section on methods. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |