我正在阅读ArrayType
的{{1}},ASTNode
的子类。
方法getComponentType()
和方法getElementType()
。
对于Statement
:int[] list = new int[50]
,前面提到的方法都会返回类型 - int
。
有谁知道这两种方法之间的区别可能是什么?
答案 0 :(得分:2)
Javadoc有一个简短描述的表,但您必须向下滚动才能阅读完整的解释。对于getComponentType()
,它说:
返回此数组类型的组件类型。组件类型可以是另一种数组类型。
而getElementType()
则表示:
返回此数组类型的元素类型。元素类型永远不是数组类型。
这是一种方便的方法,它使一组嵌套数组类型下降,直到它到达非数组类型。
因此,例如,int[][]
的“组件类型”为int[]
,但“元素类型”为int
。