这里Joiner的初始化不正确吗?我有下面的类,当我尝试将示例paths数组与joiner连接时,我将得到一个NullPointerException。
public class CPath {
private static final Joiner joiner = Joiner.on("/");
private String[] elements;
@Override
public String toString() {
return joiner.join(elements);
}
}
// main method
final String[] paths = {"a/b/c", "d", "", null, "e/f/g", "h/i", null, ""};
final CPath c3 = new CPath(paths);
c3.toString(); //<<<< NPE发布于 2017-04-18 15:23:51
您必须使用skipNulls()或useForNull(defaultValue),它位于文档的顶部;
如果没有指定skipNulls()或useForNull(String),则如果任何给定元素为null,则连接方法将抛出NullPointerException。
所以你必须初始化joiner;
Joiner joiner = Joiner.on("/").skipNulls();或
Joiner joiner = Joiner.on("/").useForNull("");https://stackoverflow.com/questions/43476156
复制相似问题