CharSequence是个接口,定义如下:
public interface CharSequence {
int length();
char charAt(int index);
CharSequence subSequence(int start, int end);
public String toString();
}
实现该接口的类全都实现了toString方法,返回一个String对象
![](https://img.haomeiwen.com/i2598926/edf4377fc593dffa.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;
}
网友评论