Scala:"明确的回报"需要?

时间:2015-06-10 19:17:24

标签: java scala boolean return

我认为在Scala中我不需要明确地把#34;返回"在退货声明中。所以我有以下代码:

  def checkSimple(str1: String, str2: String): Boolean = {

    if (str1 > str2) {
      println("str1 > str2")
      true
    }

    println("str1 <= str2")
    false
  }

如果我使用checkSimple运行我的上述代码(&#34; 200&#34;,&#34; 150&#34;),我在下面得到了错误的结果:

str1 > str2
str1 <= str2

但是,如果我添加&#34;返回&#34;在&#34; true&#34;前面如下所示,一切正常:

  def checkSimple(str1: String, str2: String): Boolean = {

    if (str1 > str2) {
      println("str1 > str2")
      return true
    }

    println("str1 <= str2")
    false
  }

&#34;返回&#34;在return语句行中实际需要吗?

谢谢!

1 个答案:

答案 0 :(得分:8)

最后一个表达式的值用作返回值:

  def checkSimple(str1: String, str2: String): Boolean = {
    if (str1 > str2) {
      println("str1 > str2")
      true
    } else {
      println("str1 <= str2")
      false
    }
  }

将按您期望的方式行事