2017-02-04 3 views
-1

Этот код печатает адрес некоторого местоположения и ноль. Этот адрес относится к тому месту? У меня такая же путаница, когда аргумент не передается в переменном аргументе, а затем p указывает на массив нулевого размера.Что такое массив нулевого размера в java?

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() ; 

} 

} 
+3

Это не адрес, это [hashCode] объекта (https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString()) – BackSlash

+0

Он печатает '0' и' hashCode' (потому что это то, что 'toString' в' Object' возвращает). 'System.out.println (Arrays.toString (x));' будет печатать «значение» пустого массива. –

+0

пустой массив? есть ли массив? – steve

ответ

1

первый: Это не адрес, это массив hash code

второй: Независимо от того, если у вас есть массив 0 элементов в качестве параметра или р как массив с 0 элементом, вы всегда получите 0 в качестве длина.

Смежные вопросы