2016-07-04 1 views
0

Je lisais le documentation. Il me semble pas très intuitif que toutes les méthodes get ont deux arguments. Par exemple.Quel est le but du deuxième paramètre des méthodes "GET"?

abstract String get(String key, String def) 
Returns the value associated with the specified key in this preference node. 

Cela n'a aucun sens. Pourquoi avons-nous besoin du deuxième argument? Je sais que lorsque nous alimentons le second argument avec une valeur, cette valeur est affectée sauf si elle est nulle. Donc un seul but serait d'initialiser une paire key-value. Mais je peux également initialiser la paire de valeur de clé avec put.

Voici un exemple de code

preferences.put("testKey", "testValue"); 
System.out.println(preferences.get("testKey", null)); // returns testValue 
System.out.println(preferences.get("testKey", "NOT NULL")); // returns testValue 
System.out.println(preferences.get("testKey", "WHATEVER")); // returns testValue 

Je ne vois donc pas une bonne utilisation du second paramètre. Je suis sûr qu'il y a des utilisations. Alors, pourquoi avons-nous ce second paramètre dans Preferences?

Répondre

1

Le deuxième argument est une valeur par défaut (lorsque la préférence n'est pas définie du tout). Sans cet argument, vous obtiendrez null pour une propriété non définie.

+0

Oh. . . .sorry, je pense que je comprends. C'est juste au cas où quelque chose se produirait par défaut – john

+0

Okay, donc si votre programme définit un 'null' à une paire de valeur clé, alors ce serait le dernier recours. Fait sens maintenant – john