Я пишу программу, которая вводит введенные пользователем значения в JTable, в одном столбце содержится siteNumber. Мне нужно проверить, используется ли этот номер сайта. Heres мой код для getValueAt().Получить значение int из ячейки JTable
public Object getValueAt(int row, int col) {
switch(col) {
case 0:
return (listSites.get(row).getNameReserving());
case 1:
return (DateFormat.getDateInstance(DateFormat.SHORT).
format(listSites.get(row).getCheckIn().getTime()));
case 2:
return (listSites.get(row).getDaysStaying());
case 3:
return (listSites.get(row).getSiteNumber());
case 4:
if(listSites.get(row) instanceof Tent)
return("Tents: " + ((Tent) listSites.get(row))
.getNumOfTenters());
else
return ("Power bought: " + ((RV) listSites.get(row))
.getPower() + " Amps");
default:
return null;
}
}
В идеале было бы простой проверкой если (getValueAt (строка, столбец) == siteNumber), но это сравнение объекта и целого, и я не могу понять, как обойти это? это для университетского проекта, поэтому многие из них не мои оригинальные идеи, и я просто пытаюсь понять, как они хотят, чтобы я это делал.
listSites - это ArrayList of Sites, который является моим суперклассом.
Извините, если я глуп, но я действительно борюсь с этим.
Вы можете использовать вот так. 'if (Integer.parseInt (table.getValueAt (row, col) == siteNumber)'. Попробуйте это! –