gpt4 book ai didi

scala - Scala中Any和String之间的类型不匹配

转载 作者:行者123 更新时间:2023-12-05 00:49:58 24 4
gpt4 key购买 nike

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 类。所以字符串是任意的。为什么我们不能将 Array[String] 传递给 foo 方法?

最佳答案

数组在其参数的类型上是不变的,这意味着 StringAny,但 Array[String] 不是 数组[任何].

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

关于scala - Scala中Any和String之间的类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32439587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com