2016-04-26 3 views
-2

До сих пор я думал, что это может быть хорошей идеей о том, что я хочу, но если есть какие-то лучшие идеи, я был бы рад проверить их!Использование переключателя для массива Java

Вот мой код:

int [] employeeId = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489}; 
switch (employeeId) 
{ 
case 5658845: 
System.out.println(Hello User #1!); 
break; 
} 

и так далее, и так далее для других идентификаторов. Можно ли это сделать?

+4

Если у каждого номера есть String, чтобы соответствовать ему, вместо этого я использовал бы карту. – dambros

+0

Что именно должно различаться в разных выходах? Номер? –

+1

Почему вы жестко кодируете идентификаторы? –

ответ

0

Возможно что-то подобное, но это не очень эффективно. Прежде всего, вы не можете использовать массив в switch.

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

Вы должны назвать свой массив employeeList или что-то подобное. Трудно различать идентификатор одного сотрудника от всей группы.

Предположим, что у вас есть сотрудникList, и этот employeeId является идентификатором одного сотрудника. Как насчет этого подхода?

int index = Arrays.asList(employeeList).indexOf(employeeId); 
System.out.println("Hello User #" + (index + 1) + "!"); 
Смежные вопросы