Я получаю nullpointerexception, когда пытаюсь заполнить 2D-массив идентификаторами процессов, это 2D, так как для каждой системы существует неограниченный список PID, и мне нужно в конечном итоге вернуть это обратно мой основной код (теперь установлен на void, поскольку только тестовая функция прототипа).java многомерный массив с ошибкой nullpointer
Любые идеи, было бы здорово
private void testfunctionA (List<String> additionalPC) {
// A 2d array that will contain a list of pids for each system - needs to be strings and not integers
String[][] pidCollection = new String[additionalPC.size()][];
// Go through one system at a time
for (int i=0; i < additionalPC.size(); i++) {
// Get pids for apple per system
String listofpids = Driver.exec("ssh " + additionalPayloads.get(i) + " ps -ef | grep -i apple | grep -v \"grep -i apple\" | awk \\' {print $2}\\'");
// Works ok for printing for one system
System.out.println(listofpids);
// put the list of pids into a string array - they are separated by rows
String[] tempPid = listofpids.split("\n");
// Put the string array into the 2d array - put this fails with a NPE
for (int j=0; j < tempPid.length; j++) {
pidCollection[i][j] = tempPid[j];
}
System.out.println(pidCollection);
}
Спасибо, это работает! также понял, что я не должен печатать многомерный массив, как это было в моем примере. – Twosingleton