【问题标题】:Pass Scala Seq into Scala function from Java将 Scala Seq 从 Java 传递给 Scala 函数
【发布时间】:2015-07-18 18:33:00
【问题描述】:

我已经把头撞在桌子上了几个小时了。我正在尝试调用一个在库中编写的函数,该库将Seq<Object> 作为唯一的参数类型。问题是,我似乎无法构造任何 Scala 想要识别为集合类型的东西。

我已经尝试了一切,从使用 Scala 缓冲区等到尝试转换为 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() 的一些参数,因为它是敏感数据

谢谢

【问题讨论】:

    标签: java scala collections seq


    【解决方案1】:

    java.lang.String cannot be cast to [B 表示您正在尝试将String 传递给调用byte[] 的方法(这就是[B 的含义)。

    尝试在您的String 上调用getBytes,这应该可以解决您的问题。

    (注意:您的问题似乎与您发布的代码无关。也许它在您删除的“敏感”部分。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-25
      • 2021-09-05
      • 2019-06-19
      • 2015-09-11
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多