上面已经说了,列表的作用就是:存储多个类型相同的数据。翻译这个为人话就是:把多个同样类型的东西统一存储起来。
这就说明了什么?这就说明了列表的“[]”包含的只能是指定类型的数据,实际上还属于值的范围。而{}包含的就不是指定类型的数据了,而是标签!这就是两种数据类型的不同之处。
所以在列表中才不用写数据类型,因为大家都一样。这就像是乘法分配律,把公因数都提取出来,进行简化算式。
现在搞懂这两个的区别了吧?我相信你已经搞懂了。
如果你还不懂,看看上面的两个例子。
好了,相信各位都已经准备好了,那么接下来我们就进入下一阶段。
我们知道,列表可以存储多个类型相同的数据。那么当数据是复合标签时,该怎么办?
很简单,其实这种情况我们已经遇见过很多次了,比如我们最了解的Enchantments(/?n?t??ntm?nts/)标签,我们都知道它的格式是这样的:
{Enchantments:[{id:<魔咒id:String字符串>,lvl:<级数:Int整形>}]}
可以发现,这里就出现了[{}]这种组合。如果你细心观察,你就会发现:列表里每项复合标签里的标签名称、格式都是完全一样的。
这说明了什么?这就说明了如果列表的项是复合标签,那么每个复合标签里的格式、标签名称都是完全一样的。
这很简单对吧?
实际上到此为止,关于复合标签和列表这两项数据类型就已经讲完了。
........
但此时,仍然有一个未解之谜:
我们知道,列表的项可以有很多。那么列表的项数到底有没有上限呢?
答案很简单:在没有明确规定列表的格式时,列表的项数理论上是无上限的。(明确规定列表格式的,比如在第一百三十二章讲到的ArmorDropChances)
只不过在实际操作过程中,列表还是有上限的:硬件。
嗯.......这可真是对了那句话:硬件决定上限,软件决定下限。
OK那么这一章就到这里了,我们下一章再见。