我有如下(注意我已经简化,使问题更简单)如果语句在scala中的else语句中?
def getMyInt(flag1: Boolean, flag2: Boolean): Int = {
if (flag1) 0;
else {
if (flag2) 1;
if (flag2) 2;
}
}
问题是,即使内if
表达式返回整型,一个包装将返回Unit
的else
的方法。因此我得到:
Multiple markers at this line
- type mismatch; found : Unit
required: Int
任何提示?
但您的方法不能返回int。如果flag1和flag2都不正确呢? –
如果一个'if'表达式没有'else'部分,就好像你写了'if(cond)value else()'('()'是'Unit'值的文字符号)。 “if”表达式的类型是其每个“边”的LUB(最具体的常见超类型)。 –