我似乎无法从JRuby中调用任何Java的字符串方法。但是,Math类的语法风格相同。我做错了什么?
#! /usr/bin/env jruby
require 'rubygems'
require 'java'
puts java.lang.Math::max(1000,200)
puts java.lang.Math::PI
# this doesn't work
puts java.lang.String::toUpperCase("we, the people")
# this doesn't work either
JString = java.lang.String
puts JString.toUpperCase('We, the people')
#toUpperCase exists though, see below
puts java.lang.String.java_class.declarSed_instance_methods
答案 0 :(得分:3)
我认为这就是你要做的事情:
java.lang.String.new("we, the people").toUpperCase
如@Jesper所述,toUpperCase是一个带String类的实例方法。将它用作静态方法是行不通的。
另请注意,返回的类是本机Ruby类型。