2012-07-16 111 views
-3

嘿傢伙我想傳遞一個對象(類型對象),它是一個(字符串+對象)的組合。 在函數中,我需要將字符串與哈希映射進行比較,並相應地對附加對象進行操作。在scala中傳遞對象

的代碼是這樣

Function (srt : Object) 
{ 
//s is an array of Strings 
    var s = srt.toString.split("+") 
    if(s[0]== insert) 
    { 
    var ne = s[1].asInstanceOf(USERDEFINEDCLASS) //ERROR here 
    //do operations 
    } 
} 

    main() 
     { 
     var og : className = new className(parameters) 
     Function(og ->("insert")) 
     } 

在這段代碼中我得到的錯誤說,它不能從字符串轉換爲類對象。 我無法想出一個辦法。有人可以幫我這個

+1

爲什麼不只是傳遞一個元組? – 2012-07-16 23:56:13

+2

這不是有效的Scala代碼。 – pedrofurla 2012-07-17 04:43:13

+0

USERDEFINEDCLASS來自哪裏? – 2012-07-17 17:12:12

回答

3

我不知道它會幫助你。下面是一個程序,其中包含一些您所描述的功能:

class Main{ 
    class SomeClass(val x:String) { override def toString:String = x } 
    def funct(obj:Object) { 
     val s=obj.toString.split("+") 
     if(s(0) == "a") { // assumingn it's a non empty string 
      println(obj.asInstanceOf[SomeClass].x) 
     } 

    } 
    def main(args:Array[String]):Unit = { 
     funct(new SomeClass("a+b")) 
    } 
}