簡體   English   中英

Scala中Any和String之間的類型不匹配

[英]Type mismatch between Any and String in Scala

def foo(x : Array[Any]) = println(x.length);
foo(Array[String]("test", "test"));

此代碼將引發錯誤消息:

:6: error: type mismatch;

found   : Array[String]

 required: Array[Any]
       foo(Array[String]("test", "test"))

Scala中的所有類都直接或間接繼承自Any類。 所以String是Any。 為什么我們不能將Array [String]傳遞給foo方法?

數組的參數類型不變,這意味着StringAny ,但是Array[String]不是Array[Any]

def foo[T](x: Array[T])def foo(x: Array[_])都可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM