2016-03-22 50 views
0

我有一個包含下列字符串如何比較包含字符串的對象?

Object[] array = {"Tom","Jim","George"}; 

數組我如何在每個對象進行比較的字符串?

* 數組必須是Object的類型,並且只包含我的問題的String類型的對象。使用String []非常明顯。

+0

所以你想比較一個數組的元素與另一個字符串? –

+0

是的。並得到一個整數作爲結果,如「compareTo」方法。 – Kanellis

+1

如果你確定該對象是一個字符串,你可以施放它。 –

回答

1

就像是:

String testString = "xyz"; 
int result = testString.compareTo((String)array[i]); 

,或者例如:

int result = ((String)array[j]).compareTo((String)array[i]); 

如果你真的不知道,如果數組元素是String,使用instanceof運營商進行檢查。

+0

好點..但我沒有任何String(比如testString)來獲取compareTo方法,我只在數組中有對象 – Kanellis

+0

@Kanellis:查看我的編輯,也許你錯過了第一個casted元素的圓括號,因此得到了ClassCastException。 –

+0

是的!你 – Kanellis

0

試試這個

int result=-1; 
    Object parameter="Tom"; 
    for(Object o: array){ 
    if(o.toString().equals(parameter.toString())){ 
    result=1; 
    } 
    } 
+0

是的,這是一個很好的觀點,但我怎樣才能得到比較結果作爲一個整數..就像compareTo方法? – Kanellis

+0

如果我明白了,我編輯答案。 你想只是一個int作爲答案,或者你想索引? – Krismorte

+0

使用'compareTo()'方法得到一個結果就像'compareTo()'方法 –