【问题标题】:Is an array from resource xml file ordered?资源 xml 文件中的数组是否已排序?
【发布时间】:2020-09-20 12:24:28
【问题描述】:

我有两个长度相同的数组,我想根据另一个值的索引从一个数组中获取一个值。我将数组存储为 Android 中的 xml 资源。

val arrayFromRes1 = resources.getStringArray(R.array.my_first_array)
val arrayFromRes2 = resources.getStringArray(R.array.my_second_array)

这两个数组是否总是按照它们在字符串资源中出现的顺序加载?

【问题讨论】:

  • 你的意思是每个数组中的元素?如果不是,你能想象吗?!有点违背数组的目的。
  • 那么以这种方式加载时,第一个数组的 xml 中的第二项将始终是第二项? (我试图避免保存枚举映射。)

标签: android arrays xml kotlin android-xml


【解决方案1】:

是的。数组是有序的。


如果他们不这样做,就会出现混乱。

【讨论】:

  • 好的,谢谢,但如果您添加“是”和参考链接,我可以接受答案。
  • @Mr.Drew 你想要参考什么,究竟是什么?这是一个数组。数组本质上是有序的。如果n 将指向无序集合中的随机值,那么通过get(n) 访问数组资源有什么意义?
  • 我指的是android从xml资源加载它,而不是Java/Kotlin对象本身。
  • @Mr.Drew ...不知道该告诉你什么'。祝你好运!
  • 我的意思是我知道数组是有序的,但我无法在 Android 文档中找到确切的信息来确认顺序是否始终是它们在 xml 文件中键入的顺序。我无法在 xml 资源中保存地图,所以我想知道如果保存在资源目录中,两个长度相等的数组是否会起作用。到目前为止,在我的实验中这是正确的,所以我理解你是如何直观地认为这一点的。不过不知道,可能源码对Android上的大资源文件使用了不同的解析方式。
猜你喜欢
  • 2012-04-08
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 2015-11-03
  • 2013-08-09
  • 2015-04-16
相关资源
最近更新 更多