Как узнать, какой тип у каждого объекта в ArrayList <Object>? - PullRequest
87 голосов
/ 20 сентября 2008

У меня есть ArrayList, составленный из различных элементов, импортированных из БД, состоящий из строк, чисел, двойных и целых чисел. Есть ли способ использовать технику типа отражения, чтобы узнать, какой тип данных содержит каждый элемент?

К вашему сведению: причина того, что существует так много типов данных, заключается в том, что это фрагмент кода Java, который пишется для реализации в разных БД.

Ответы [ 12 ]

0 голосов
/ 11 декабря 2008

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

for (Object o:list) {
  Double.parseDouble(o.toString);
}
0 голосов
/ 20 сентября 2008

Вы говорите: «Это часть написанного Java-кода», из чего я заключаю, что все еще есть шанс, что вы могли бы разработать его по-другому.

Наличие ArrayList похоже на коллекцию вещей. Вместо того чтобы принудительно вызывать instanceof или getClass каждый раз, когда вы берете объект из списка, почему бы не спроектировать систему так, чтобы вы получали тип объекта при извлечении его из БД и сохраняли его в коллекции соответствующего типа объект

Или вы можете использовать одну из множества существующих библиотек доступа к данным, чтобы сделать это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...