替换 <String, String[]> TreeMap 中的空值

Replace Null Values in <String, String[]> TreeMap

我有以下形式的树图:< String, String[] >

我的 String[] 中有一些值为 null。使用以下代码将我的结果写入文件时,我得到:

java.lang.NullPointerException

我当前写入文件的代码如下,我正在尝试用空字符串替换空值。

        new File(outFolder).mkdir();
        File dir = new File(outFolder);
        //get the file we're writing to
        File outFile = new File(dir, "javaoutput.txt");

        //create a writer
        try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
            new FileOutputStream(outFile), "utf-8"))) { 
            for (Map.Entry<String, String[]> entry : allResults.entrySet()) {
                writer.write(entry.getKey() + " "+ Arrays.toString(entry.getValue()).replace(null, ""));
                writer.newLine(); 

            }   

有什么想法吗?

您的问题源于此方法调用:replace(null,"");

检查 replace()

的执行情况

它采用的第一个参数是 CharSequence,它对这个字符序列所做的第一件事就是对其调用 toString()

每次都会抛出 NullPointerException

Arrays.toString() 但是会将 null 值替换为 "null" 因此将您的调用更改为:replace("null", "");