のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

jniでenumをアクセスすると

JNI側でstrcmpしないと、値が取得できないのか。
オーバーヘッドが大きくなるな。

クラス側
D:\Users\jni>javap -classpath .\..\bin\classes jp.co.myapp.Status
Compiled from "Status.java"
public class jp.co.myapp.Status extends java.lang.Object implements java.lang.Cloneable{
    private jp.co.myapp.Contrast mContrast;
    public void setContrast(jp.co.lim.android.font.Contrast);
}
ENUM側
D:\User\jni>javap -private -classpath .\..\bin\classes jp.co.myapp.Contrast
Compiled from "Contrast.java"
public final class jp.co.myapp.Contrast extends java.lang.Enum{
    public static final jp.co.myapp.Contrast BRIGHT2;
    public static final jp.co.myapp.Contrast BRIGHT1;
    public static final jp.co.myapp.Contrast NORMAL;
    public static final jp.co.myapp.Contrast DARK1;
    public static final jp.co.myapp.Contrast DARK2;
    private int mValue;
    static {};
    public int intValue();
    public static jp.co.myapp.Contrast getInstance(int);
    public java.lang.String toString(jp.co.myapp.Contrast);
    public static jp.co.myapp.Contrast[] values();
    public static jp.co.myapp.Contrast valueOf(java.lang.String);
    static int[] $SWITCH_TABLE$jp$co$myapp$Contrast();
}

JNIでenumを扱う

Java: JNI question!!!!, jni

  • private すべてのクラスとメンバを表示する