Ошибка toString (), не удается разрешить метод toString()

#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()) .