Java 如何根据签名确定数组类型
仅通过查看签名,您如何确定阵列最有可能是完美尺寸还是超大尺寸?Java 如何根据签名确定数组类型,java,Java,仅通过查看签名,您如何确定阵列最有可能是完美尺寸还是超大尺寸? 我知道当数组的大小已知时会使用完美大小的数组,否则会使用超大大小的数组,但我不知道如何根据签名确定(通过查看)数组类型 例如:publicstaticvoidmymethod(int[]ray,int size) 或者:publicstaticmymethod(int[]ray,布尔值)好的,我想我看到了您的困惑 Java数组声明从不指定大小。始终可以为数组变量分配不同长度的数组 运行时的实际数组总是有一个固定的大小,数组本身知道该
我知道当数组的大小已知时会使用完美大小的数组,否则会使用超大大小的数组,但我不知道如何根据签名确定(通过查看)数组类型 例如:
publicstaticvoidmymethod(int[]ray,int size)
或者:
publicstaticmymethod(int[]ray,布尔值)
好的,我想我看到了您的困惑
Java数组声明从不指定大小。始终可以为数组变量分配不同长度的数组
运行时的实际数组总是有一个固定的大小,数组本身知道该大小是什么(length
字段)
Java(语言)没有完美大小或超大数组的概念。这只是一个如何使用数组的概念
由于数组在运行时知道自己的大小,因此永远不需要显式指定大小。显式要求大小的方法可以处理过大的数组,因为显式大小参数只能用于处理数组的一部分
因此,myMethod(int[]ray,int size)
是一种可以处理超大数组的方法
myMethod(int[]ray,布尔值)
只能用于完美大小的数组,因为无法检测数组的部分使用情况。如果ray.length==size
则ray
数组大小完美,如果size
则ray
数组大小过大,如果size>ray.length
,则数组的大小不足。我的意思是,这不是单词的定义,那你为什么要问呢由于第二个方法没有指定一个参数来指示数组仅被部分使用,因此根据定义,该方法需要一个大小完美的数组。--你的问题没有多大意义。@Andreas我们不知道任何尺寸,那么我们怎么知道?你说的“我们不知道任何尺寸”是什么意思?Java数组的大小是固定的,所以我们知道数组的大小(akalength
)。参数size
还将指定一个我们现在知道的值。如果您认为我们在运行时不知道数组的大小,那么您可能应该(重新)阅读Java学习资料中有关数组的部分。