`
fman
  • 浏览: 53659 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

jruby 中int的使用

阅读更多
由于ruby自动将整数类型转换成long, 但是当使用jruby调用java方法时,可能会遇到java方法的参数是int类型的。此时就会有问题。

之前遇到一个头痛的问题。有如下java类:


package test
pulic class A
{
  public int getID(int id)

  public long getID(long id)
}

jruby调用时:
require 'java'

a = test.A.new

a.getID(1)

上面写法的话,只能调用getID(long id), 而无法调用到getID(int id).

解决办法是,直接定义java的integer对象。

id = Java::JavaLang::Integer.new(1)
a = test.A.new
a.getID(id)

这样的话,就可以顺利调用getID(int id)方法了。
分享到:
评论

相关推荐

    java程序设计概述

    除了传统的Java应用程序外,该平台还支持多种其他编程语言,包括Jython、JRuby、Groovy和Scala等,这些语言都可以在Java虚拟机(JVM)上运行。 #### 开源讨论社区 开源社区对于Java的发展起到了至关重要的作用。例如...

    Scala编程基础.docx

    使用 var 定义的变量是可变得,在 Scala 中鼓励使用 val。 2. Scala 编译器会自动推断变量的类型,必要的时候可以指定类型;变量名在前,类型在后。 常用类型 Scala 和 Java 一样,有 7 种数值类型 Byte、Char、...

    Scala基础.pdf

    1. 面向对象:Scala中的所有值都是对象,它使用类和特质(trait)来定义类和对象的行为,使其成为一个纯面向对象的语言。 2. 函数式编程:Scala支持函数式编程范式,其中函数被当作一等公民(first-class citizens...

    jdk1.7.0_17免安装版

    8. **改进的枚举语法**:允许在枚举类型中使用菱形操作符,同时支持枚举实例的初始化块。 9. **改进的数组初始化**:可以使用菱形操作符初始化数组,如`int[] array = new int[] {}`。 10. **更好的异常处理**:...

    jdk7 jdk1.7

    8. **改进的数组初始化**:现在可以使用菱形操作符来初始化数组,例如 `int[] array = new int[] {};` 9. **新的编译器警告**:添加了对过时API和未使用的局部变量的警告,帮助开发者发现潜在的问题。 10. **元...

    Pragmatic.The RSpec Book.2010.pdf

    3. **支持多种环境**:RSpec 可以在不同的 Ruby 版本上运行,并且兼容多种 Ruby 运行时环境,如 MRI、JRuby 和 Rubinius。 4. **强大的社区支持**:RSpec 拥有活跃的社区和丰富的文档资源,这为开发者提供了极大的...

    JDK1.7 亲自收藏,可以使用

    5. **字符串inswitch**:在switch语句中可以直接使用字符串,增强了代码的可读性。 6. **Fork/Join框架**:这个并发框架是为了实现更高效的并行计算,基于工作窃取算法,可以用于分割大任务为小任务并行执行。 7. ...

    jdk api1.7 中文版

    2. **字符串in switch**:现在可以在switch语句中直接使用字符串对象,使得处理枚举类型之外的数据变得更加灵活。 3. **try-with-resources**:这是一个新的异常处理机制,可以自动关闭在try块中打开的资源,如文件...

    jdk1.7历史各版本-正式版下载

    7. **枚举类型的switch语句**:在JDK 1.7之前,switch语句只能用于int、char、byte和枚举常量,但在1.7中,可以直接用枚举类型作为switch的表达式。 8. **改进的类型推断**:Java 7的编译器在泛型使用中增强了类型...

    server_java7_

    6. **二进制字面量和下划线分隔数字**:允许使用二进制前缀`0b`表示二进制数,以及在数字中使用下划线改善可读性,如`int num = 100_000;`。 7. **Fork/Join框架**:提供了一种并行执行任务的方法,是Java并发处理...

    jre7 32位官方压缩包

    4. **字符串in switch**:Java 7允许直接在switch语句中使用字符串,使得针对枚举类型的处理更加灵活。 5. **改进的类型推断**:通过增强的类型推断机制,编译器能更智能地处理方法调用,如`Arrays.asList()`,无需...

    jdk1.7(jdk-7u67-windows-i586.rar)

    这样,你就可以在命令行中使用`javac`和`java`等命令了。 测试JDK是否安装成功,可以通过在命令行输入`java -version`和`javac -version`,如果显示正确的JDK版本信息,则表示安装成功。至此,你已经具备了在...

    JAVA JDK 1.7

    5. **二进制字面量和下划线分隔数字**:开发者现在可以使用二进制前缀(0b/0B)来定义二进制数,并可以在数字中使用下划线(_)来提高可读性,如`int num = 0b1010_1010`。 6. **改进的switch语句**:Java 7的...

    jdk1.7官方版

    Java 7允许在`switch`语句中使用字符串,使得代码更加灵活,尤其是在处理枚举类或者常量字符串时。 ```java String day = "Monday"; switch (day) { case "Monday": System.out.println("Today is Monday"); ...

    JDK1.7.0.51 免安装版

    5. **改进的数组初始化**:现在可以使用花括号在类初始化块或者方法内部初始化数组,使得代码更简洁,如`int[] numbers = {1, 2, 3};`。 6. **开关表达式**:允许使用枚举常量作为开关语句的参数,提高了代码的...

    jdk.rar1.8和11都有

    1. **Lambda表达式**:这是Java 8中最具革命性的特性,它允许开发者使用简洁的语法处理函数式编程任务,显著提高了代码的可读性和效率。 2. **方法引用和构造器引用**:与Lambda表达式紧密相关,它们允许直接引用已...

    环境变量 jdk1.7

    5. **二进制字面量和下划线分隔符**:Java 7允许使用二进制前缀(0b或0B)来表示二进制数字,同时也允许在数字字面量中使用下划线(_)作为分隔符,提高代码可读性。 6. **改进的数组初始化**:现在可以使用更具...

    简单介绍Ruby on Rails对PostgreSQL数组类型的支持

    在模型(model)中使用PostgreSQL数组类型,假设我们有一个`User`模型,其中`nicknames`字段是数组类型。创建对应的迁移文件如下: ```ruby create_table :users do |t| t.string :first_name t.string :last_name ...

    jdk1.7.zip压缩安装包

    7. **改进的数组初始化**:现在可以使用`new int[] {1, 2, 3}`这样的语法创建多维数组。 8. **开关语句增强**:允许使用字符串作为switch语句的参数,增强了代码的可读性。 9. **更好的编码处理**:对编码的支持更...

Global site tag (gtag.js) - Google Analytics