2012-07-16 110 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")) 
    } 
}