Как выполнить итерацию по всем объектам Bundle

Я пытаюсь создать вспомогательный метод, который будет перебирать все объекты Bundle общим способом .

Под «общим» я подразумеваю:

  1. Не нужно знать имена (ключей )объектов в Bundle, переданных в качестве параметра.
  2. Не нужно изменять, если в будущем к пакету будет добавлен другой член (ключ ).

На данный момент я придумал следующую схему для достижения этой цели:

  private void bundleToSharedPreferences(Bundle bundle) {
    Set keys = bundle.keySet();
    for (String key : keys) {
        Object o = bundle.get(key);
        if (o.getClass().getName().contentEquals("int")) {
            // save ints
        }
        else if (o.getClass().getName().contentEquals("boolean")) {
            // save booleans
        }
        else if (o.getClass().getName().contentEquals("String")) {
            // save Strings
        }
        else {
            // etc.
        }
    } 
  }

Имеет ли вообще смысл этот подход?

Есть ли лучший способ сделать это?

32
задан Community 23 May 2017 в 12:26
поделиться