我有一个正在检索并转向字符串的对象..get()可能会返回null,这在尝试转换为字符串时会崩溃.在这种情况下处理null的最佳方法是什么?如果返回null,也许将其设置为空字符串.我试图避免为每个.get()写一个if语句
String value1 = userDict.get("key1").toString();
String value2 = userDict.get("key2").toString();
String value3 = userDict.get("key3").toString();
String value4 = userDict.get("key4").toString();
Run Code Online (Sandbox Code Playgroud)
编辑:
userDict是HashMap(String,Object)
尝试使用String.valueOf(userDict.get("key1")).根据规格的valueOf(Object o),它要么调用toString()该对象或返回字符串"null"如果给一个空对象.
编辑:编辑指向java 7 api而不是java 6 api.
编辑2:如果您不介意使代码更密集,可以使用三元运算符封装此方法的逻辑:
String value1 = (userDict.get("key1") == null) ? "" : userDict.get("key1").toString();
Run Code Online (Sandbox Code Playgroud)