什么是java中的零大小数组?
此代码打印某个位置的地址和零。这个地址是哪个位置的? 当变量参数方法中没有传递参数时,我也有类似的困惑,然后p仍然指向一个大小为零的数组什么是java中的零大小数组?,java,arrays,methods,Java,Arrays,Methods,此代码打印某个位置的地址和零。这个地址是哪个位置的? 当变量参数方法中没有传递参数时,我也有类似的困惑,然后p仍然指向一个大小为零的数组 public class zero { static void abc (int ... p ) // variable number of arguments . { System.out.println(p.length); } public static void main (String qwe[] ) { int x[] =new
public class zero
{
static void abc (int ... p ) // variable number of arguments .
{
System.out.println(p.length);
}
public static void main (String qwe[] )
{
int x[] =new int [0] ;
System.out.println(x);
abc () ;
}
}
第一:它不是地址,而是数组的
散列码
第二:不管你用0个元素的数组作为参数,还是用p作为0个元素的数组,你总是得到0作为长度。它不是地址,而是对象的,它打印
0
和hashCode
(因为这就是对象中的toString
返回的内容)System.out.println(Arrays.toString(x))代码>将打印空数组的“值”。空数组?有数组吗?@steve You声明了它,所以是的,有一个数组包含0个元素(一个空数组)。一个大小为零的数组仍然是一个新对象。你可以有两个,但它们不会是一样的东西。