【问题标题】:GetStaticMethodId method signature for public static MyClass myMethod()公共静态 MyClass myMethod() 的 GetStaticMethodId 方法签名
【发布时间】:2012-11-18 16:40:35
【问题描述】:

此方法的方法签名(与 GetStaticMethodId 一起使用)是什么:-

public static MyView newMyView() {
    return new MyView(RhodesService.getInstance().getContext(), null);
}

"()Lcom/nativestuff/MyView;"吗? (如果包是 com.nativestuff?)

【问题讨论】:

    标签: java android android-ndk


    【解决方案1】:

    是的()Lcom/nativestuff/MyView; 是正确的。一般来说:

    • B = 字节
    • C = 字符
    • D = 双
    • F = 浮动
    • I = int
    • J = 长
    • S = 短
    • V = 无效
    • Z = 布尔值
    • L<i>fully-qualified-class</i> = 完全合格的课程
    • [<i>type</i> = 数组类型
    • (参数类型)返回类型 = 方法类型。如果没有参数,请使用空参数类型:()。如果返回类型是void(或构造函数)使用(参数类型)V

    【讨论】:

    • 观察到 ;在所有情况下都需要在类名之后。这将不起作用“(Ljava/lang/String)V”,但这将“(Ljava/lang/String;)V”。
    【解决方案2】:

    ()Lcom/nativestuff/MyView 是正确的。

    你也可以通过

    找到签名
    javap -s -classpath bin/classes com.nativestuff.MyView
    

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 1970-01-01
      • 2012-02-11
      • 2011-05-04
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      相关资源
      最近更新 更多