Как я могу преобразовать объект в int в Java? - PullRequest
2 голосов
/ 20 декабря 2011

Я работаю в Java, и я хотел бы преобразовать Object в int.

Я делаю:

   Collection c = MyHashMap.values(); 
   Object f = Collections.max(c);
   int NumOfMaxValues = Integer.parseInt(f);

Но это не работает.Там написано: No suitable method for parseInt.

Как я могу это исправить?

Ответы [ 4 ]

9 голосов
/ 20 декабря 2011
Integer.parseInt()

ожидает String.Вы можете использовать

Integer.parseInt(f.toString())

и переопределить метод toString() в своем классе.

2 голосов
/ 20 декабря 2011

В идеале, вы должны использовать дженерики в своих интересах и иметь что-то вроде следующего:

Map<Object,Integer> myHashMap = new HashMap<Object,Integer>();
Collection<Integer> values = myHashMap.values();
Integer value = Collections.max(values);
if (value != null)
{
  int myInt = value;
}
1 голос
/ 20 декабря 2011
Integer.parseInt(f.toString());
1 голос
/ 20 декабря 2011

Вы не можете просто конвертировать любой объект в int.Как это должно работатьПодумайте о классе так:

class Car {
  public String name;
  public String owner;
}

Вам нужно определить метод самостоятельно.Или вам нужно выяснить, что это за конкретный объект и как его преобразовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...