Коллекции Google, эквивалентные Apache Commons Collections Arrayutils.toObject и Arrayutils.toprimive
-
22-09-2019 - |
Вопрос
Поскольку все хвалили Google Collections (например, в здесь) Почему я не могу найти эквивалент ArrayUtils.toObject()
а также ArrayUtils.toPrimitive()
? Это так непригодно? Я пропустил это?
Решение
Честно говоря, я не уверен, что какой-либо из этих методов должен даже квалифицироваться как операция, связанная с коллекцией, и поэтому я бы задавался вопросом, почему они даже в первую очередь.
Чтобы немного уточнить, коллекции - это группа объектов с некоторыми семантическими данными, связывающими их вместе, в то время как массивы являются лишь предопределенным набором что-нибудь. Анкет Этими семантическими данными могут быть информацией о принятии или отклонениях нулей, дубликатов, объектов неправильных типов или с недопустимыми значениями поля и т. Д.
Большинство - если не все коллекции используют массивы внутри, однако сам массив не является коллекцией. Чтобы квалифицироваться как коллекция, ему нужна какая -то соответствующая магия, такая как удаление и добавление объектов в произвольные позиции, и массивы не могут этого сделать. Я очень сомневаюсь, что вы когда -нибудь увидите какую -либо поддержку массива в коллекциях Google, поскольку массивы не являются коллекциями.
Однако, поскольку Google Collections станет частью Google Библиотеки гуавы которая является библиотекой классов общего класса/своего рода, вы можете найти то, что вы хотите com.google.common.primitives
пакет, например Booleans#asList(boolean... backingArray)
а также Booleans#toArray(Collection<Boolean> collection)
.
Если вы абсолютно чувствуете, что они должны включать равные методы в Apache Commons Collection .toObject()
а также .toPrimitive()
Там ты всегда можешь Отправить запрос на функции в качестве нового выпуска.