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 ссылка, которая отличается от первого звонка. Какой правильный ответ?

Ответы на вопрос(1)

Ваш ответ на вопрос