美文网首页
JNI将CharSequence转为jstring

JNI将CharSequence转为jstring

作者: 风云不羁 | 来源:发表于2019-01-29 15:05 被阅读0次

CharSequence是个接口,定义如下:

public interface CharSequence {
    int length();
    char charAt(int index);
    CharSequence subSequence(int start, int end);
    public String toString();
}

实现该接口的类全都实现了toString方法,返回一个String对象


char_children.png

而在JNI中String对象是可以直接转为jstring的,故CharSequence转jstring方法如下:

jstring convertCharSequence(JNIEnv *env, jobject thiz,
                            jobject csObj/*CharSequence object*/) {
    jclass csClass = env->GetObjectClass(csObj);
    jmethodID toString = env->GetMethodID(csClass, "toString", "()Ljava/lang/String;");
    jobject strObj = env->CallObjectMethod(csObj, toString);

    return (jstring) strObj;
}

相关文章

网友评论

      本文标题:JNI将CharSequence转为jstring

      本文链接:https://www.haomeiwen.com/subject/wiexsqtx.html