有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android注释未正确理解

我得到了一个必须学习的项目&;懂有一个类具有以下内容:-

public abstract class AbstractPayment extends GodelCheckout {
    public static final String AUTH_USING_GET = "GET";
    public static final String AUTH_USING_POST = "POST";

    @Retention(RetentionPolicy.SOURCE)
    @StringDef({AUTH_USING_GET, AUTH_USING_POST})
    public @interface AuthMethod {}

我试着理解注释&;为什么它们在谷歌的开发者网站上很重要,但除了它们用于改进代码这一事实之外,我不太明白

  1. 但是他们如何改进代码呢?有什么例子吗

  2. 为什么这里需要@Retention(RetentionPolicy.SOURCE)

  3. @StringDef()实际上做什么

  4. 什么是public @interface AuthMthod{}

  5. 请解释一下Retention.SOURCE, .CLASS & .RUNTIME到底是什么?我试着从谷歌的开发者网站上理解它们,但没有多大帮助


共 (1) 个答案

  1. # 1 楼答案

    1. 通过标记函数参数或其结果,可以定义预期的行为。例如,如果使用该注释标记函数参数,则不能传递除AUTH_USING_GETAUTH_USING_POST之外的任何其他参数
    2. 使用源代码保留,当出现注释错误时,代码将不会编译。成功编译后,它们将从代码中删除。使用保留策略RUNTIME在运行期间检查代码
    3. @StringDef只允许传递Stringid,例如R.string.login@IntDef只允许将R.id.sample_int传递给函数
    4. 这就是注释,即必须对所需的参数、函数结果或类字段进行注释才能获得所需的结果
    5. 看第二个问题

    有关更多问题,请参阅Java文档