"GET" 方法第二个参数的目的是什么?

What is the purpose of the "GET" methods second parameter?

我正在阅读 documentation。所有 get 方法都有两个参数对我来说看起来不是很直观。例如。

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

没有意义。为什么我们需要第二个参数?

我知道当我们为第二个参数提供一个值时,该值会被赋值,除非它为 null。 所以好吧,一个目的是初始化一对 key-value .但我也可以用 put 初始化键值对。

这是一个示例代码

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 

所以我只是看不出第二个参数有什么用处。我敢肯定有用途。那么,为什么我们在首选项中有第二个参数?

第二个参数是默认值(当首选项根本没有设置时)。如果没有这个论点,你会得到 null 一个未定义的 属性.