Varargs с нулевыми параметрами в Java
Следующий код просто использует нулевую ссылку в качестве параметра varargs.
package currenttime;
import java.util.Arrays;
public class Main
{
private static void temp(String...str)
{
System.out.println(Arrays.asList(str));
}
public static void main(String[] args)
{
temp(null,null);
temp(null);
}
}
Первый вызов методаtemp(null, null);
дисплеи[null, null]
Значит этоstr[0]=null
а также .str[1]=null
но позже позвонитьtemp(null);
вызываетNullPointerException
быть брошенным, который кажется, чтоstr
сам по себе есть.null
Если оно'тип s приведен кString
что-то вроде этогоtemp((String)null);
Работает и отображает.[null]
Почему в последнем вызове требуется явное приведение типа?Мне кажется, что этосчитается строковым массивом сnull
ссылка, которая отличается от первого звонка. Какой правильный ответ?