Java “的目的是什么?”;获得;方法第二个参数?

Java “的目的是什么?”;获得;方法第二个参数?,java,preferences,Java,Preferences,我在看报纸。在我看来,所有的get方法都有两个参数不是很直观。例如 abstract String get(String key, String def) Returns the value associated with the specified key in this preference node. 这没有道理。为什么我们需要第二个参数? 我知道,当我们给第二个参数输入一个值时,该值会被赋值,除非它为null。因此,好的,一个目的是初始化键值对。但是我也可以使用put初始化键值对 下面

我在看报纸。在我看来,所有的
get
方法都有两个参数不是很直观。例如

abstract String get(String key, String def)
Returns the value associated with the specified key in this preference node.
这没有道理。为什么我们需要第二个参数?

我知道,当我们给第二个参数输入一个值时,该值会被赋值,除非它为null。因此,好的,一个目的是初始化
键值对。但是我也可以使用
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

第二个参数是一个默认值(对于未设置首选项的情况)。如果没有该参数,对于未定义的属性,您将得到
null

噢。对不起,我想我明白了。这只是为了防止出现默认值OK的情况,因此如果您的程序将某个键值对设置为
null
,那么这将是最后的选择。现在说得通了哦。对不起,我想我明白了。这只是为了防止出现默认值OK的情况,因此如果您的程序将某个键值对设置为
null
,那么这将是最后的选择。现在有道理了