У меня введен пользовательский указатель. Этот индекс будет использоваться для поиска определенного объекта под названием Movie в массиве списков, который называется movieList
. В этом объекте я хочу найти значение genreOfMovie
и преобразовать его в String
.Как получить строку из массива списка объектов в java?
Я использую эту строку кода:
Movie genreOfMovie = (Movie) movieList.get(Integer.parseInt(index) - 1);
установить VeriTable к тому, что пользователь ищет.
Однако, когда я запускаю программу, я не получаю строку жанра, то, что я получаю, это нечто похожее на [email protected]
. База данных, если имя программы и видеофильма имя объекта, так что @71aa1ce9
и как я могу изменить это, как
Movie genreOfMovie = (Movie) movieList.get(Integer.parseInt(index) - 1);
кода для печати какой-то строки, как действия, потому что это то, что хранилось в там.
String index = TxtSearch.getText();
Movie genreOfMovie = (Movie) movieList.get(Integer.parseInt(index) - 1);
int counter = 0;
do {
counter++;
} while (CbxGenres.getComponent(counter) != genreOfGame.toString());
Замечание: это плохая идея, чтобы непосредственно разобрать строку и предположить, что она представляет действительный индекс в списке. Вход, поступающий непосредственно от пользователя, должен всегда ** обрабатываться с большой осторожностью. Вы должны: обрабатывать как минимум два случая ошибок (вход не число, разборный номер не является допустимым индексом) – GhostCat
, помимо других вещей, о которых уже упоминалось, вы не можете напрямую сравнивать строки, лучше использовать метод '.equals()': 'CbxGenres.getComponent (counter) .equals (genreOfGame.toString())' –