2011-10-11 84 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 
}