2011-12-20 49 views
2

我在Java中工作,我想一個Object轉換爲int如何將對象轉換爲Java中的int?

我做的:

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

但它不工作。它說: No suitable method for parseInt.

我該如何解決呢?

+2

什麼是'F'的實際類型? – harold 2011-12-20 18:13:19

+2

討論Java文檔的[parseInt函數(http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html)第一! – CoolBeans 2011-12-20 18:14:10

+1

你在那個哈希映射中插入了什麼?他們是整數嗎?如果是這樣,只需Collection c = MyHashMap.values(); – Tom 2011-12-20 18:14:11

回答

9
Integer.parseInt() 

預計String。您可以使用

Integer.parseInt(f.toString()) 

並覆蓋您班級中的toString()方法。

+0

感謝它的工作! – programmer 2011-12-20 18:20:15

+1

@programmer。樂意效勞。確保toString()方法返回一個有效的整數作爲字符串,否則parseInt()將引發異常。 – 2011-12-20 18:24:03

+0

我使用System.out.println()和它的輸出和整數。它沒有拋出任何異常,所以其fine.Thanks – programmer 2011-12-20 18:34:20

1

你不能只是任何對象轉換爲int。應該如何工作。想想像這樣的一個類:

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

你需要自己定義一個方法。或者你必須找出什麼是特定對象以及如何轉換它。

1
Integer.parseInt(f.toString()); 
2

理想情況下,你應該使用泛型,你的優勢,並有沿的下方線的東西:

Map<Object,Integer> myHashMap = new HashMap<Object,Integer>(); 
Collection<Integer> values = myHashMap.values(); 
Integer value = Collections.max(values); 
if (value != null) 
{ 
    int myInt = value; 
} 
+0

謝謝你,這真的很有幫助 – programmer 2011-12-20 19:35:52