从userPreferences </string>中检索空Set <string>

时间:2014-09-12 14:11:26

标签: java android

我有以下代码:

Set<String> test = C.userPreferences.getStringSet("default", Here);

我想知道的是如何在默认情况下将空字符串设置为null而不是null,因为我需要test.add(String)之后如果test为null则无法执行此操作。

我尝试Collections.emptySet()但未通过java.lang.UnsupportedOperationException

4 个答案:

答案 0 :(得分:2)

只需在通话后测试测试是否为空:

Set<String> test = C.userPreferences.getStringSet("default", Here);    
if (test == null)
    test = new HashSet<String>();

HashSet类只是Set接口的实现。

答案 1 :(得分:0)

你可以这样做:

C.userPreferences.getStringSet("default", new HashSet<String>());    

当然,您可以使用您喜欢的Set的任何实现(TreeSet,HashSet,...)

答案 2 :(得分:0)

Set<String> temp = C.userPreferences.getStringSet("default", Here==null ? new HashSet<String>() : Here) ;

答案 3 :(得分:0)

另一种更简单的方法如下:

var input = "javascript";
var output = [];           //change this

for (var i = 0; i < input.length; i++) {
  if (input[i] == "a") {
    output[i] = "4";
  } else if (input[i] == "i") {
    output[i] = "1";
  } else
    output[i] = input[i];
} // end forloop

output= output.join('');   //change array to string
console.log(output);

完美无缺。