Bonjour à tous,

Je viens de tomber sur un comportement de Java que je ne m'explique pas. Lorsque qu'on passe l'argument null à une méthode à ellipse on obtient une exception NullPointerException mais si on passe une référence dont la valeur est null tout se passe bien.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class Test {
    private static void f(Object... objects) {
        System.out.println(objects.length + " arguments");
    }
 
    public static void main(String[] args) {
        Object obj = null;
 
        f(); // fonctionne
        //f(null); // ne fonctionne pas
        f(obj); // fonctionne
        f(null, null); // fonctionne
    }
}
Est-ce que quelqu'un sait pourquoi? Non que ce soit une question fondamentale mais j'aimerais comprendre ce qui se passe.

Cordialement.