Передать Scala Seq в функцию Scala из Java

Я часами бьюсь головой о стол. Я пытаюсь вызвать функцию, написанную в библиотеке, которая принимает Seq<Object> в качестве единственного типа аргумента. Проблема в том, что я не могу создать что-либо, что Scala хочет распознать как тип коллекции.

Я пробовал все: от использования Scala Buffers и тому подобного до попыток преобразования в Seq или использования материала $colon$colon. Ничего не работает, может кто-нибудь указать мне в правильном направлении.

РЕДАКТИРОВАТЬ:

Это код, который я использую в данный момент

    List<Object> objs = new ArrayList<>();

    Object obj = new Object();
    objs.add(obj);   

    function(JavaConversions.asScalaBuffer(objs));

У которого нет ошибок, но я получаю java.lang.String cannot be cast to [B

Я опустил некоторые аргументы для new Object(), так как это конфиденциальные данные.

Благодарность


person Chase Walden    schedule 08.05.2015    source источник


Ответы (1)


java.lang.String cannot be cast to [B означает, что вы пытаетесь передать String методу, который вызывает byte[] (вот что означает [B).

Попробуйте вызвать getBytes на вашем String, и это должно решить вашу проблему.

(Примечание. Судя по всему, ваша проблема не связана с опубликованным вами кодом. Возможно, она связана с "конфиденциальной" частью, которую вы удалили.)

person DaoWen    schedule 08.05.2015