代码之家  ›  专栏  ›  技术社区  ›  Peter Alfvin

从JRuby调用Java时,nil是否强制为null?

  •  0
  • Peter Alfvin  · 技术社区  · 12 年前

    https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby 表示Java null 对象被强制为Ruby的 nil ,但它没有提到强制是否发生在另一个方向(例如,当参数传递给Java方法时)。是吗?如果没有,您如何创建 无效的 来自JRuby?

    我确实注意到了 nil.to_java 回报 .

    2 回复  |  直到 12 年前
        1
  •  1
  •   Shepmaster Tim Diekmann    12 年前

    为了澄清,你的问题的答案是 .

    要亲眼目睹,请尝试通过 nil 到任何Java方法,看看会发生什么,这很容易做到:

    > java.lang.System.out.println(nil)
    null
     => nil
    

    > java.lang.String.new(nil)
    Java::JavaLang::NullPointerException:
    
        2
  •  0
  •   FabioCosta    12 年前

    尝试

      JavaUtil.primitive_to_java(nil)