Хороший проблема состоит: меня не захватывает стоимость, которая существует в базе данных особенно в поле codsubmenu
, только он захватывает мне недействительную стоимость. Я оставляю им код.
public class Menu implements Serializable{
private int idMenu;
private Menu codsubmenu;
public int getIdMenu() {
return idMenu;
}
public void setIdMenu(int idMenu) {
this.idMenu = idMenu;
}
public Menu getCodsubmenu() {
return codsubmenu;
}
public void setCodsubmenu(Menu codsubmenu) {
this.codsubmenu = codsubmenu;
}
while(rs.next()){
Menu menu=new Menu();
menu.setIdMenu(rs.getInt("idMenu")); //en esta línea si me captura el id del menu
// me captura null
menu.setCodsubmenu(menu.getCodsubmenu());
}
}
Однако, изменив последнюю линию из-за:
menu.setCodsubmenu(rs.getInt("codsubmenu"));
Меня подчеркивает ошибка этой формы
incompatible types: int cannot be converted to Menu**
Хотя я это думаю, что нет данных, может быть, я помог ему:
Вы говорите, что Вы захватываете его null, и это, потому что Вы делаете menu.getCodsubmenu()
,
// me captura null
menu.setCodsubmenu(menu.getCodsubmenu());
и этот возвращает null, потому что
public Menu getCodsubmenu() {
return codsubmenu;
}
public void setCodsubmenu(Menu codsubmenu) {
this.codsubmenu = codsubmenu;
}
распределен, и возвращая тот же объект, который не инициализировался ни распределенный другому, который estubiera инициализировавший заблаговременно:
private Menu codsubmenu;
getCodsubmenu() -> devuelve codesubmenu y menu.setCodsubmenu asigna el mismo objeto, al mismo objeto que no esta inicializado, quizas quiera mirar eso.
это сообщение types: int cannot be converted to Menu**
поэтому несовместимо
public void setCodsubmenu(Menu codsubmenu) {
this.codsubmenu = codsubmenu;
}
этот метод ждет один Menu
, но если Ваше имя в этом методе menu.setCodsubmenu(rs.getInt("codsubmenu"));
продолжает какую-то логику getInt
, возможно, что возвращает Int отсюда ошибку, дело в том, что он не может распределять целое число в setCodsubmenu
, так как ждет один Menu
, чтобы распределять это codsubmenu
, который типа Menu
;
У тебя есть следующее: Menu codsubmenu
. Твой код субменю - объект класса Menu
. В настоящее время, ты это seteando следующего способа:
menu.setCodsubmenu(menu.getCodsubmenu());
Но когда ты будешь верить в инстанцию Menu
, поле codsubmenu
так как у него нет никакой инициализации (по крайней мере из-за того, что ты представляешь в твоем коде) он будет иметь как стандартная настройка null
, поэтому эта линия кода у них нет никакого значения.
Сейчас, когда ты пробуешь делать это:
menu.setCodsubmenu(rs.getInt("codsubmenu"));
Ошибка компиляции ясная: ты пробуешь распределять в переменную типа Menu
стоимость одного int
.
Может быть, твоя проблема имела команду в момент чтения данных. Так как ты не объясняешь хорошо твою проблему фона, я думаю, что сначала ты был бы должен читать все данные, хранить Menu
из-за Menu
в таком контейнере как список или карта и потом группировать их способа, в котором ты желаешь. Конечно, как личное замечание, может быть, также у тебя была проблема рисунка в твоей модели данных, потому что у меню не был бы должен бы быть id меню сын, а скорее должен бы быть id меню у отца, и единственное меню, которого у него не есть, пойдите отца это корень всех меню.