Además, puede probar esto a ti mismo mediante la adición de una línea de depuración a su clase, tales como:
public class ResultList {
public String name;
public Object value;
public ResultList() {
System.out.println("Creating Class ResultList");
}
}
Siempre que se crea un objeto, uno de sus constructores deben ser llamados (si no hay const ructor, uno por defecto se crea automáticamente, similar al que ya tienes en tu clase). Si solo tiene un constructor, entonces la única forma de crear un objeto es llamar a ese constructor. Si la línea
ResultList[] boll = new ResultList[5];
realmente creado 5 nuevos objetos, que se vería su línea de depuración aparecen en la consola 5 veces. Si no lo hace, sabrá que no se está llamando al constructor. Tenga en cuenta también que la línea anterior no tiene una lista de parámetros con abrir y cerrar paréntesis "()" por lo que no es una llamada de función - o llamada de constructor. En cambio, solo nos estamos refiriendo al tipo. Estamos diciendo: "Necesito espacio para una variedad de objetos ResultList, hasta un total de 5". Después de esta línea, todo lo que tienes es espacio vacío, no objetos.
Al probar varias correcciones, la línea de depuración le ayudará a confirmar que está obteniendo lo que desea.
Podría ser un poco más claro para cambiar el nombre a algo así como resultList NameValuePair. –
¿Sabía que una clase con clave/valor de vinculación ya existe? implementaciones de Map por ejemplo. –
enguerran
Un gotcha común procedente de C++, la nueva matriz es una matriz de referencias, pero los objetos reales no se crean. Tienes que crearlos como un paso separado. Java NO permite una matriz de Objetos como C++. –