 <p>The problem is, that in Java <code>String[]</code> cannot be directly assigned to a variable of type <code>Object[]</code>. Scala has to obey this rule.</p> <p>You can very easily rewrite your code:</p> <pre><code>val arr: Array[((String, String), Double)] = Array((("1", "2"), 4.5)) //|arr: Array[((String, String), Double)] = Array(((1,2),4.5)) def printCol(arr: Array[_]) = { arr.foreach { case (e, i) =&gt; println(e + "," + i) } } //|printCol: printCol[](val arr: Array[_]) =&gt; Unit printCol(arr) //|(1,2),4.5 //|res0: Unit = () </code></pre> <p>When you changed <code>printCol</code> so it accepts <code>Array[Any]</code> or <code>Array[AnyRef]</code> you would have to provide precisely that type. So you are better of with an unspecified generic.</p>