Q:

Does Scala support inner class generic

I have the following code:
var retArr = Array[Array[String]]()
var tmp = Array[String]()
retArr+=tmp

But it told me misMatch type, any ideas please? 

A:

If you check the scala.collection.mutable. ArrayOps trait, you'll see that only following two operators are defined: :+ and +: (append and prepend respectfully). 
retArr :+= tmp

works just fine. 

Little bit of explanation regarding +=. 
But when you try to use + on array, scala treats it as scala. Predef.any2stringadd (concatenate Any with String).  
If you try retArr + "string" you'll get expected result: 
"[[Ljava.lang. String;@37e44608string"

But  retArr += "string" will not work, as you can't assign String back to Array[Array[String]].