Коллекции Google, эквивалентные Apache Commons Collections Arrayutils.toObject и Arrayutils.toprimive

StackOverflow https://stackoverflow.com/questions/1979923

Вопрос

Поскольку все хвалили 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() Там ты всегда можешь Отправить запрос на функции в качестве нового выпуска.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top