【问题标题】:Passing Of Objects in scala在scala中传递对象
【发布时间】:2012-07-16 23:48:16
【问题描述】:

大家好,我正在尝试传递一个对象(类型对象),它是(字符串+对象)的组合。 在函数中,我需要将字符串与哈希映射进行比较,并相应地对附加对象进行操作。

代码是这样的

 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"))
       }

在这段代码中,我收到错误消息,说它不能从字符串转换为类对象。 我无法想出办法。有人可以帮我解决这个问题吗

【问题讨论】:

  • 这不是有效的 Scala 代码。
  • USERDEFINEDCLASS 来自哪里?
  • 我可以忍受USERDEFINEDCLASS,作为一个例子。但是其余的程序甚至不会在我知道的任何语言下解析,甚至不会混合解析器的片段哈哈

标签: java function scala object


【解决方案1】:

我不确定它会帮助你。下面是一个具有您描述的一些功能的程序:

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"))
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多