2011-10-11 57 views
0

我正在研究基於字符串輸入的比較產生輸出的應用程序。然而,我意識到大多數比較模式不適用於字符串。通過這些我指的是:在android中實現字符串比較

  1. 更少(<)
  2. 小於和等於(< =)
  3. 大於(>)
  4. 大於和等於(> =)
  5. 等於(==)

有一種解決方法,任何人都可能知道呢?我將不勝感激任何建議。

謝謝。

[RE-EDIT]

我的應用程序是一個包含各種字段的表單。例如,當在一個文本字段中輸入一個值時,根據上面列出的條件將該值與目標值進行比較。根據結果​​,可以繼續執行。

我希望這會流露出一些光芒。

+0

將是偉大的知道你想要的數字對比的方法來比較有什麼樣的字符串? – Mannaz

+0

這些全部用於數字數據值比較方法,並且不能將其用於字符串數據類型。我不認爲像這樣的字符串有任何可用的比較方法。 – user370305

+0

然後看到我的答案。我列出了一些將字符串解析爲數字值的方法。 – Mannaz

回答

0

如果你有包含數字值的字符串,你應該先嚐試將它們解析爲數字表示。即:

try { 
    long number1 = Long.parseLong(myString1); 
    long number2 = Long.parseLong(myString2); 
    if(number1 <= number2) { 
    // dosomething 
    } 
} catch(NumberFormatException e) { 
    Log.e(TAG, "can not parse string to long",e); 
} 

爲簡單的equals比較存在String.equals方法:

if(myString1.equals(myString2)) { 
    // dosomething 
+0

Mannaz謝謝,但我的字符串是純字符串值,不包含數值..任何想法? – user788511

1

你需要做什麼比較? String上的compareTo()方法可能會起作用。

3

可以使用String.compareTo(String)該返回一個整數,是負(<),零(=)或正(>)。

使用它這樣:

String a="myWord"; 
if(a.compareTo(another_string) <0){ 
    //a is strictly < to another_string 
} 
else if (a.compareTo(another_string) == 0){ 
    //a equals to another_string 
} 
else{ 
    // a is strictly > than another_string 
}