У меня вопрос, что значение переменной DefaultMutableTreeNode по умолчанию используется для использования в функции Spark mapToPair(). Вот мой код:Значение DefaultMutableTreeNode установлено равным стандарту при использовании его для Spark mapToPair
public class CA implements Serializable{
private final JavaRDD<String> input;
private final List<IB> bList;
public boolean FuncWithSpark(){
/*
!!!at this point, bList.get(0).getD().getRoot() return a valid tree node
*/
JavaRDD<Boolean> counters = input.mapToPair(new PairFunction<String, String, List<String>>() {
@Override
public Tuple2<String, List<String>> call(String s) throws Exception {
/*
!!!at this point, bList.get(0).getD().getRoot() return an uninitialized tree node with default values
*/
...
}
}
}
public CA(JavaRDD<String> input, List<IB> bList) {
this.input = input;
this.bList = bList;
}
}
Интерфейсы IB, ID, классы CB и CD определяются как:
public interface IB {
...
}
public interface ID {
...
}
public class CB implements IB, Serializable{
private final ID d;
public ID getD(){
return this.d;
}
}
public class CD implements ID, Serializable{
private DefaultMutableTreeNode rootNode;
public DefaultMutableTreeNode getRoot(){
return this.rootNode;
}
}
Вопрос в том, что случилось с переменной типа DefaultMutableTreeNode в CA.FuncWithSpark()? Это из-за преобразования Spark, или переменные-члены DefaultMutableTreeNode защищены и не имеют доступа к ним? Пожалуйста, дайте мне направление для решения этой проблемы. Благодарим вас за любую помощь заранее !.