【问题标题】:Converting an ActiveRecord:Relation to java array将 ActiveRecord:Relation 转换为 java 数组
【发布时间】:2017-01-05 06:05:57
【问题描述】:

我正在运行一个“where”查询,该查询在我的 rails 应用程序中的 MyTable 表上运行。 我想将此查询(ActiveRecord::Relation)中特定列的结果转换为 String 类型的 Java Array。

这就是我正在做的:

employeesJavaArray=MyTable.where("salary = ?",100).pluck(:columnName).to_java(java.lang.String)

但是我在日志中收到此错误:-

TypeError (could not coerce Fixnum to class java.lang.String):

你能帮我看看我写的声明有什么问题吗?

【问题讨论】:

  • columnName 列返回什么数据类型?
  • 我在多个表上运行相同类型的查询,其中一个返回 int,其他返回 string。
  • 我有没有尝试先将整数转换为字符串?
  • 不!,是因为这个吗?有没有什么方法可以在一行中将“整数数组”转换为“字符串数组”而不对其进行迭代。

标签: java ruby-on-rails ruby exception activerecord


【解决方案1】:

我会先确保数组只包含字符串(通过调用to_s):

employeesJavaArray = MyTable.where("salary = ?",100)
                            .pluck(:columnName)
                            .map(&:to_s)
                            .to_java(java.lang.String)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 2022-01-03
    • 2017-10-16
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多