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 {}
我试着理解注释&;为什么它们在谷歌的开发者网站上很重要,但除了它们用于改进代码这一事实之外,我不太明白
但是他们如何改进代码呢?有什么例子吗
为什么这里需要
@Retention(RetentionPolicy.SOURCE)
@StringDef()
实际上做什么什么是
public @interface AuthMthod{}
请解释一下
Retention.SOURCE, .CLASS & .RUNTIME
到底是什么?我试着从谷歌的开发者网站上理解它们,但没有多大帮助
# 1 楼答案
AUTH_USING_GET
或AUTH_USING_POST
之外的任何其他参数李>RUNTIME
在运行期间检查代码李>@StringDef
只允许传递String
id,例如R.string.login
@IntDef
只允许将R.id.sample_int
传递给函数有关更多问题,请参阅Java文档