我有以下代码:
Set<String> test = C.userPreferences.getStringSet("default", Here);
我想知道的是如何在默认情况下将空字符串设置为null而不是null,因为我需要test.add(String)
之后如果test为null则无法执行此操作。
我尝试Collections.emptySet()
但未通过java.lang.UnsupportedOperationException
答案 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);
完美无缺。