2016-11-14 20 views
-2

比較對象我試圖使用isInstanceOf運算符從一個元組中獲取值並檢查它是否是特定類型。我對這個錯誤感到頭疼,我不想使用匹配情況。使用isinstanceOf

val t = ("ww",2, 3.4) 

if(t._1 isInstanceOf[String]) 
    println("yes") 

我得到的錯誤是:

<console>:1: error: type application is not allowed for postfix operators 
+1

編譯器知道'Tuple'的所有元素類型。如果您在運行時使用'isInstanceOf'來測試元組,那麼您的設計中存在一個缺陷。 – jwvh

回答

4

缺少點.

更正

if(t._1.isInstanceOf[String]) println("yes") 
1

您需要的變量和isInstanceOf之間的點:

if (t._1.isInstanceOf[String]) 

因爲函數帶有一個類型參數(String),所以不允許使用不帶點的記號作爲後綴運算符。我不知道爲什麼這排除了postfix符號,但我想這太難分析了。