Scala: How do I create a new instance from class name?

def instantiate[T](className:String)(args:Any*): T = {
	    val clazz = Class.forName(className)
		val constructor = clazz.getConstructors()(0)
		val workArg:Array[AnyRef] = new Array(args.length)
		var i=0
		for(arg <- args){
		  workArg(i) = arg match{
		    case i:AnyRef => i
		    case i:Int => new java.lang.Integer(i)
		    case i:Long => new java.lang.Long(i)
		    case i:Float => new java.lang.Float(i)
		    case i:Double => new java.lang.Double(i)
		    case i:Boolean => new java.lang.Boolean(i)
		    case i:Char => new java.lang.Character(i)
		    case i:Byte => new java.lang.Byte(i)
		    case i:Short => new java.lang.Short(i)
		    case _ => arg.asInstanceOf[AnyRef]
		  }
		  i = i + 1
		}
		return constructor.newInstance(workArg:_*).asInstanceOf[T]
	}