我将Axis Web服务包装在Springboot微服务中,偶然发现了一些没有意义的代码。
Class cls = AmountInfo[].class;
上面返回什么类?
最佳答案
这是java.lang.Class
的文档必须说的:
每个数组还属于一个反映为Class对象的类,该类对象由元素类型和维数相同的所有数组共享。
就像类型Class
的AmountInfo
对象一样,数组1D数组类型Class
也有AmountInfo[]
,二维数组类型AmountInfo[][]
也有类型,等等。
数组类型的Class
在调用true
时将返回isArray()
。 AmountInfo[].class
等效于AmountInfo.class.arrayType()
。您可以将其与反射API一起使用,就像使用普通类一样(如下示例):
//Creating a 1D array of AmountInfo type
jshell> Array.newInstance(AmountInfo.class, 2)
$65 ==> AmountInfo[2] { null, null }
// Creating a 2D array of AmountInfo type
jshell> Array.newInstance(AmountInfo[].class, 2)
$66 ==> AmountInfo[2][] { null, null }