将数组与不同的数组类型进行比较

da1*_*bi3 1 xcode swift

我想比较两个数组是否相等,这是我的代码:

  var letteronloc = [String]();
      letteronloc.append("test")
  let characters = Array("test")


   if(letteronloc == characters) {

    }
Run Code Online (Sandbox Code Playgroud)

但我有一个错误:找不到接受提供的参数的==的重载

我认为这是因为数组不相等,因为第二个数组不是字符串数组.但我该如何解决这个问题呢?

Mar*_*n R 5

let characters = Array("test")将字符串视为一个序列 (字符)并通过枚举序列的元素来创建一个数组.因此characters是一个四个数组的数组Character,与你可以得到的相同

let characters : [Character] = ["t", "e", "s", "t"]
Run Code Online (Sandbox Code Playgroud)

所以你有两个不同元素类型的数组,这就是你无法比较它们的原因==.

如果你想要一个带有单个字符串"test"的数组,那么把它写成

let characters = ["test"]
Run Code Online (Sandbox Code Playgroud)

你可以毫无问题地比较两个数组.