Scala什么意思是var声明

时间:2017-09-22 09:24:46

标签: scala

我正在阅读有关使用带有scala的Junit的指南site 在我在此消息末尾复制粘贴的代码行中有一些我不理解的代码行。

代码行是:

var pizza: Pizza = _

我知道占位符用于模式匹配,以说“如果它是其他任何东西”。但我不明白这听起来是什么意思。

有人可以解释一下吗?

package com.acme.pizza

import org.junit.Test
import junit.framework.TestCase
import org.junit.Assert._
class PizzaTests extends TestCase {

  var pizza: Pizza = _

  override def setUp {
    pizza = new Pizza
  }

  def testOneTopping {
    pizza.addTopping(Topping("green olives"))
    assertEquals(pizza.getToppings.size, 1)
  }

  def testAddingAndRemovingToppings {
    pizza.addTopping(Topping("green olives"))
    pizza.removeTopping(Topping("green olives"))
    assertEquals(pizza.getToppings.size, 0)
  }

}

2 个答案:

答案 0 :(得分:2)

表示为其指定默认值。 例如,

scala> var num:Int = _
num: Int = 0

scala> var name:String = _
name: String = null

当我声明一个整数值时,它会为其指定0作为默认值,并将null作为默认值指定为字符串。

答案 1 :(得分:0)

在这种情况下,它根据类型使用默认值初始化变量。您可以在4.2 Variable Declarations and Definitions下的documentation下找到更多详细信息。

以下是默认值:

 default  type T
 0        Int or one of its subrange types
 0L       Long
 0.0f     Float
 0.0d     Double
 false    Boolean
 ()       Unit
 null     all other types
相关问题