реализовать сравнение строк в Android - PullRequest
0 голосов
/ 11 октября 2011

Я работаю над приложением, которое выводит данные на основе сравнения строкового ввода. Однако я понимаю, что большинство способов сравнения не применимы к строкам. Этим я имею в виду:

  1. меньше чем (<) </li>
  2. меньше и равно (<=) </li>
  3. больше (>)
  4. больше и равно (> =)
  5. равно (==)

Есть ли обходной путь, о котором кто-нибудь может знать? Буду признателен за любой совет.

Спасибо.

[RE-EDIT]

Мое приложение - это форма, которая включает в себя различные поля. Например, когда кто-либо вводит значение в одно текстовое поле, это значение сравнивается с целевым значением на основе условий, которые я перечислил выше. И в зависимости от результата выполнение может продолжаться.

Надеюсь, это проливает свет.

Ответы [ 3 ]

3 голосов
/ 11 октября 2011

Вы можете использовать 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
}
1 голос
/ 11 октября 2011

Какое сравнение вам нужно сделать? Метод compareTo () в String может помочь.

0 голосов
/ 11 октября 2011

Если у вас есть строки, содержащие числовые значения, вы должны сначала попытаться разобрать их в числовое представление.Т.е.:

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);
}

для простого сравнения равно метод String.equals:

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