java中的数组元素标识符是啥?
Posted
技术标签:
【中文标题】java中的数组元素标识符是啥?【英文标题】:Are array elements identifiers in java?java中的数组元素标识符是什么? 【发布时间】:2015-06-08 21:51:08 【问题描述】:Java documentation 表示标识符是“用 Java(TM) 编程语言编写的程序中项目的名称”,但这并没有指定 myList[0]
形式的东西是否算作myList 中的第一个元素。那么,myList[0]
算不算标识符?
【问题讨论】:
【参考方案1】:不,myList 是数组的标识符,myList[0] 指的是该数组的索引 0 内的元素,它是对值类型的引用。
【讨论】:
【参考方案2】:myList[0]
不是标识符。这是一个array access expression。本例中的标识符为myList
。
【讨论】:
注意:即使它不是标识符,arr[i]
仍然是 JLS 的“变量”:“这个 结果变量,它是数组的一个组件。 .",如果假设 'variable' 暗示标识符,这可能会导致不正确的术语。
@user2864740 你确定arr[i]
是一个变量吗? java glossary of terms 表示变量是“由标识符命名的数据项”,而arr[i]
似乎不是由标识符命名的。我试图在 Java 语言规范中找到定义,但找不到 if。
@Kyth'Py1k Here's JLS 中变量的定义。
@Kyth'Py1k 这是定义,这就是我添加注释的原因 - 当我第一次得知它在 Java 中被定义为这样时,我感到很惊讶! (在我知道的所有其他语言中,我会说它不是;但 Java 是 Java。)【参考方案3】:
检查这些定义的最终位置是JLS (Java Language Specification),而不是教程,这自然不那么正式。
根据上述规范,标识符不包括括号。因此myList[0]
不是标识符。
【讨论】:
以上是关于java中的数组元素标识符是啥?的主要内容,如果未能解决你的问题,请参考以下文章