2010-08-01から1ヶ月間の記事一覧
JRubyでJavaのClassクラスのメソッドを元の名前(getMethodsなど)で 使いたいときなどに、Javaのclassオブジェクトに直接アクセスしたいことがある。 その場合は.java_class.to_javaか.getClassを用いればいい。 jirbで実行した結果 irb(main):001:0> include…
JRubyで呼び出したJavaメソッドからの戻り値が、Rubyのどの型に変換されるか調べた Java戻り値 Ruby boolean true, false char Fixnum byte Fixnum short Fixnum int Fixnum long Fixnum float Float double Float String String BigInteger Bignum Wrapper…
一度、型変換に失敗すると同一オブジェクトでの型変換ができなくなることがあるようです。 include Java hash = {"a"=>"b"} hash2 = {"a"=>"b"} begin java.util.Collections.fill(hash, "a") rescue; end java.util.HashMap.new.putAll(hash) #java.util.Ha…
JRubyからJava呼び出しの際にどんなオブジェクトが渡るかテスト Java public class Convert { public static void print(Object obj){ System.out.println(obj.getClass() +":"+ obj); } } JRuby include Java def conv obj Java::Convert.print obj end con…
JRubyからJavaにclassオブジェクトを渡すとどの型になるのか試してみた。 Javaのコードは単純にclass文字列表現をprint public class ClassSample{ public static void print(Class clazz){ System.out.println(clazz.toString()); } } JRubyではJavaのビル…
JRubyからJavaのメソッドを呼ぶ場合、メソッドの引数は自動で型変換される。 Javaのメソッドの引数を具体的な型で定義したとき、Rubyのどの型を受け入れられるか調べた。 (以下のようなメソッドをJRubyから引数に様々なものを入れて呼び出してみた) public s…
@WebServletアノテーションを使うとweb.xmlいらないということで試してみた。 Tomcat 7.0.2で実験以下のコードをwebapps/sample/WEB-INF/classes/sampleに置いてコンパイル package sample; import javax.servlet.annotation.*; import javax.servlet.http.*…