我有如下(注意我已經簡化,使問題更簡單)如果語句在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(最具體的常見超類型)。 –