2016-03-08 2 views
-1

Предположим, у меня есть String с именем dogsStatus.Как сравнить String с любым элементом Array в андроиде

String dogsStatus = "Dogs are running"; 

У меня есть также массив по имени dogsChoice.

ArrayList<String> dogsChoice = new ArrayList<>(); 
dogsChoice.add("barking"); 
dogsChoice.add("running"); 
dogsChoice.add("eating"); 

Теперь я хочу, чтобы настроить ВЫКЛЮЧАТЕЛЬ-CASE с Струнный dogsStatus.

Так смотрите код, если это вообще возможно или нет: -

switch(dogsStatus){ 
     case "Dogs are" + dogsChoice: 
     //Do something 
     } 

Если это не представляется возможным, то есть ли способ, чтобы сравнить строку с любым значением в виде массива? Не какой-либо конкретной один ...

+0

Вы хотите, чтобы собаки работали, собаки лай и т. д. правильно? – Amsheer

+0

На самом деле элементы, представленные в массиве, не указаны. Это будет очень сильно отличаться на разных устройствах. Эти предметы являются примерами. Я хочу сравнить строку с любым значением заданного массива –

ответ

1

Try это ....... ....

for(int=0; i<dogsChoice.size();i++){ 
switch(dogsStatus){ 
     case "Dogs are" + dogsChoice[i]: 
     //Do something 
     } 
} 
+0

Поздравляем, Бангладеш. Ты сделал это. Благодарю. Я, также из того же. –

+0

На самом деле, я думал об этом раньше. Но, поскольку мои элементы массива будут неограниченными в реальном приложении, так что я думал, что мое дело будет неограниченным. По этой причине я просто отверг эту идею. Но, теперь, я думаю, что это сработает ... –

+0

спасибо брату .............. –

2

Try:

dogsChoice.contains("your compare word"); 
+0

Сэр, я знаю этот способ реализации. Но моя проблема заключается в том, что массив содержит три элемента. И где я буду использовать код в реальном приложении, у устройства будут разные элементы для устройства. Здесь всего три, но на реальном устройстве будет так много предметов. Значит, я понятия не имею. По этой причине я хотел знать, можно ли сравнить String с любым элементом массива ... –

+0

Я не понимаю ваш вопрос, когда ваш аррайалист уже, 3 пункта или 300 элементов все еще могут использовать «содержать», чтобы проверить это. – NeilLin

1

Попробуйте это:

Итерации ваш ArrayList и получить значения

for(int=0; i<dogsChoice.size();i++){ 

    if(dogsChoice.get(i).equalsIgnoreCase("your string to be compared")){ 

     // do your stuff here 
    } 

    } 
Смежные вопросы