2010-08-01から1ヶ月間の記事一覧

JRubyでJavaのclassオブジェクトへのアクセス

JRubyでJavaのClassクラスのメソッドを元の名前(getMethodsなど)で 使いたいときなどに、Javaのclassオブジェクトに直接アクセスしたいことがある。 その場合は.java_class.to_javaか.getClassを用いればいい。 jirbで実行した結果 irb(main):001:0> include…

Java to Ruby 変換表

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…

Ruby Hash to Java Map Conversion Bug

一度、型変換に失敗すると同一オブジェクトでの型変換ができなくなることがあるようです。 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…

Ruby to Java 変換

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オブジェクトを渡す

JRubyからJavaにclassオブジェクトを渡すとどの型になるのか試してみた。 Javaのコードは単純にclass文字列表現をprint public class ClassSample{ public static void print(Class clazz){ System.out.println(clazz.toString()); } } JRubyではJavaのビル…

Ruby to Java 変換表

JRubyからJavaのメソッドを呼ぶ場合、メソッドの引数は自動で型変換される。 Javaのメソッドの引数を具体的な型で定義したとき、Rubyのどの型を受け入れられるか調べた。 (以下のようなメソッドをJRubyから引数に様々なものを入れて呼び出してみた) public s…

Servlet 3.0のアノテーション

@WebServletアノテーションを使うとweb.xmlいらないということで試してみた。 Tomcat 7.0.2で実験以下のコードをwebapps/sample/WEB-INF/classes/sampleに置いてコンパイル package sample; import javax.servlet.annotation.*; import javax.servlet.http.*…