Заменить нулевые значения в TreeMap - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть древовидная карта вида:

В моей строке [] есть значения, которые являются нулевыми. При записи моих результатов в файл, используя приведенный ниже код, я получаю:

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(); 

            }   

Есть мысли?

1 Ответ

2 голосов
/ 19 февраля 2020

Ваша проблема возникает из-за вызова этого метода: replace(null,"");

Проверьте реализацию replace()

Первый параметр, который он принимает, - CharSequence и первое, что он делает с эта последовательность символов называется на ней toString().

Каждый раз будет выбрасываться NullPointerException.

Arrays.toString() однако заменит значения null на "null", поэтому измените свой вызов на замену следующим образом: replace("null", "");

...