Я пытаюсь написать фрагмент кода, который принимает двухзначное шестнадцатеричное число, например. «0C», и сравнивает его со списком.Включить двухсимвольную строку, начинающуюся с цифры
Я использую Java 6, поэтому не могу включить строку и изначально планировал использовать переключатель Enums, но не понимал, что Enums должны начинаться с буквы.
Есть простой способ добиться чего-то вроде следующего без целого ряда «если еще, если ...» заявления ?:
public void code(String oc) {
switch (oc) {
case 00:
// do something
break;
case 0A:
// do something else
break;
case A1:
....
}
Спасибо, Роберта.
Вы не должны выбирать подходящий тип для использования в зависимости от того, может ли он использоваться в инструкции коммутатора или нет. Используйте перечисление, если это перечисление. Используйте String, если это String. Я действительно не понимаю преимущества переключателя if/else if. –
Ах, хорошо. Кто-то сказал мне, что переключатель был более эффективным, чем if/else для этого типа вещей. Если это не так, я пойду по маршруту if/else. – Robert
Вы можете использовать интерфейс, определяющий желаемую функцию, и помещать их в хэш-карту. Но вы конвертируете шестнадцатеричные числа в строку, а затем обнаруживаете, что предпочитаете номер. Зачем конвертировать? –