|
|
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
Есть массив объектов Object[]. Как разделить его содержимое на три типа - цифры (любые - Integer, Long и пр.), даты и строки? Знаю, что можно тупо перечислить сравнить все известные классы и типы, но хотелось бы красиво. Есть ли какое-то элегантное решение для Java 6? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 09:15 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
GarrickЕсть массив объектов Object[]. Как разделить его содержимое на три типа Объясните "разделить". Нужно именно 3 массива на выходе? Garrick- цифры (любые - Integer, Long и пр.), даты и строки? instance of Number, instance of String, остальное - даты. GarrickЗнаю, что можно тупо перечислить сравнить все известные классы и типы, но хотелось бы красиво. А точнее? Пример того как хотелось бы? GarrickЕсть ли какое-то элегантное решение для Java 6? Java 6? Really? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 09:19 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
Garrick, Программисты нынче всеми силами избегают цикла for , case, if и т.д. по списку. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 09:53 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGarrickЕсть массив объектов Object[]. Как разделить его содержимое на три типа Объясните "разделить". Нужно именно 3 массива на выходе? Нет, просто каждый "тип" нужно обработать по своему. Blazkowiczinstance of Number, instance of String, остальное - даты. За instance of Number спасибо. Не подумал об этом. BlazkowiczJava 6? Really? Да. Java 6. К тому же ещё она от IBM. И ещё ближайшие пару лет вряд ли обновится. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 10:23 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
Petro123Garrick, Программисты нынче всеми силами избегают цикла for , case, if и т.д. по списку. )) Нет, просто не хотелось бы в кейсе, построенном из кучи ифов, перебирать все возможные типы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 10:26 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
Garrick, Ну, в данном случае instanceof самое простое и понятное решение. В более сложных случаях можно использовать HashMap<Class, ?>. Но, в Java 6-7 часто оказывается что нагромождение кода будет более сложным чем тупой if...else. Можно ещё посмотреть в сторону Google Guava. Возможно, там есть интересные способы разбить коллекцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 10:30 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
GarrickНет, просто не хотелось бы в кейсе, построенном из кучи ифов, перебирать все возможные типы. Но в этом вопросе-то всё сводиться к двум if и двум instance of? Разве что только если строка это не всегда String. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 10:31 |
|
||
|
Массив объектов разобрать по типам
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНо в этом вопросе-то всё сводиться к двум if и двум instance of? Разве что только если строка это не всегда String. Да, с instanceof все намного красивее получается, я изначально пытался построить на getClass().getName() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2016, 11:08 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39335039&tid=2123568]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 323ms |

| 0 / 0 |
