JRuby が文字列 xor を実行するための Java 拡張機能を実装しようとしています。バイト配列をに型キャストする方法がわかりませんRubyString
:
public static RubyString xor(ThreadContext context, IRubyObject self, RubyString x, RubyString y) {
byte[] xBytes = x.getBytes();
byte[] yBytes = y.getBytes();
int length = yBytes.length < xBytes.length ? yBytes.length : xBytes.length;
for(int i = 0; i < length; i++) {
xBytes[i] = (byte) (xBytes[i] ^ yBytes[i]);
}
// How to return a RubyString with xBytes as its content?
}
また、同じ操作をインプレースで実行するにはどうすればよいx
ですか (つまり、値が更新されます)。