SharedPreferences getString NULL参数

时间:2015-06-25 16:31:15

标签: java android sharedpreferences

如果我将SharedPreferences.getString的第二个参数设置为NULL,是否会在某些设备上收到错误(例外)?

SharedPreferences settings = ...

String data = settings.getString(_.PREFIX , null);

是否会导致至少一台设备出现异常或错误?或者我必须将这部分代码包装在try-catch块中?

2 个答案:

答案 0 :(得分:3)

如果你问 如果你将第二个参数设置为null会得到异常,那么答案是否定的(至少除非你引用结果而不先检查它是否为null) 。 getString()方法中的第二个参数是默认值(即,如果没有找到您的前缀,将返回的值。因此,将null设置为默认值是完全可以接受的,只要您意识到(并说明)getString()返回的值可能为空的事实。

答案 1 :(得分:0)

String data = settings.getString(_。PREFIX,null / Null这里是默认值 /); null - 当您的SraredPreferences没有此项时,您可以接收(例如,如果您在设置此字段之前调用/获取此字符串,则任何信息或用户从设备的设置清除应用程序的现金)。我认为这可能是正常情况,如果你希望得到它(一些emum字段),你可以用一些默认值删除“null”。 如果你不认为在使用之前获得null验证数据。 我瘦你的应用程序必须准备好两种变体,因为用户可以改变正常的工作流程。