zoukankan      html  css  js  c++  java
  • JNI field descriptor

    JNI field descriptor "([Ljava/lang/String;) V"

     

    "([Ljava/lang/String;) V" It is a coding of the return value and parameters of the function. This encoding is called JNI Field Descriptors (JavaNative Interface Field Descriptors). An array of int [] needs to be expressed as "[I". If multiple arrays double [] [] [] need to be expressed as "[[[D". In other words, the beginning of each square bracket means an array dimension. Behind multiple boxes is the type of array.

    If the descriptor starts with an L, it is the class descriptor, which is followed by the string of the class, and then the semicolon ";" ends.

    For example, "Ljava/lang/String;" means the type String;

    "[I" means int [];

    "[Ljava/lang/Object;" means Object [].

    The JNI method descriptor is mainly to put the parameters in parentheses and the return type after the parentheses, as follows:

    (Parameter descriptor) return type

    When a function does not need to return the parameter type, it is represented by "V".

    For example, "() Ljava/lang/String;" means String f ();

    "(ILjava/lang/Class;) J" means long f (int i, Class c);

    "([B) V" means void String (byte [] bytes);

    Java typessymbol
    Boolean Z
    Byte B
    Char C
    Short S
    Int I
    Long J
    Float F
    Double D
    Void V
    objects Start with "L" and end with ";", in the middle are the package and class names separated by "/". For example: Ljava/lang/String; if it is a nested class, use To Table shows the insert sleeve Example The"(Ljava/lang/String;Landroid/os/FileUtilFileStatus;) Z "

    In addition, the abbreviation of the array type can be expressed by "[" plus the short form of the corresponding type shown in Table A,

    For example: [I means int []; [L/java/lang/objects; means Objects [], in addition. Reference types (except for arrays of basic types) have a ";" at the end

    E.g:

    "() V" means void Func ();

    "(II) V" means void Func (int, int);

    "(Ljava/lang/String; Ljava/lang/String;) I". Means int Func (String, String)

  • 相关阅读:
    AsyncTask下载图片
    POJ 2418-Hardwood Species(map)
    [Python] Understand List Comprehensions in Python
    [Python] isinstance() for checking object type
    [Python] Find available methods and help in REPL
    [Python] Execute a Python Script
    [Python] Understand Mutable vs. Immutable objects in Python
    [Python] Check for None (Null) in Python
    [Python] Manage Dependencies with Python Virtual Environments
    [React] Controlling Form Values with React
  • 原文地址:https://www.cnblogs.com/justinzhang/p/15743217.html
Copyright © 2011-2022 走看看