#java #search #methods #tostring
Вопрос:
Я пытаюсь преобразовать идентификатор int, который я получаю из модели под названием Часть в функции поиска, которую я создаю, в строку, чтобы упростить поиск.
Вот утверждение if, которое я использовал до сих пор:
if(part.getId().toString().indexOf(searchText) > -1) {
return true;}
Когда я пытаюсь преобразовать этот идентификатор в строку, мне отображается сообщение об ошибке, в котором говорится Cannot resolve method toString()
Вот метод get в модели детали, которую я использую:
public int getId() { return id; }
Не знаете, что я здесь делаю не так?
Я использую JavaFX 11
Ответ №1:
Вы не можете вызвать метод на примитивных типах, таких как double
, int
, float
в Java.
Используйте String.valueOf(part.getId())
вместо этого.
Комментарии:
1. Один трюк, который я иногда использую , состоит в том, чтобы добавить значение в строку , например
"" part.getId()
, которое получит строковое значение независимо от того, является ли это объектом или примитивом, хотя я предполагаю, что внутренне это похоже на вызовString.valueOf
, учитываяvalueOf
перегруженную функцию, которая работает как с объектами, так и с примитивами.2. Также
Integer.toString(part.getId())
.