kotlin,注解类型前的@param是做什么用的
kotlin, what is @param used for before the annotation type
在 java class 中带有注释:
public final class Info {
private Info() {
}
public static class InfoAction {
public static final String OPEN = "open";
public static final String VIEW_ALL = "view_all";
@Retention(RetentionPolicy.SOURCE)
@StringDef({OPEN, VIEW_ALL})
public @interface Action {
}
public String mAction;
public InfoAction(@Action String action) {
this.mAction = action;
}
}
IDE 转换为科特林:
class Info private constructor() {
class InfoAction(@param:Action var infoAction: String) {
@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
@StringDef(OPEN, VIEW_ALL)
annotation class Action
companion object {
const val OPEN = "open"
const val VIEW_ALL = "view_all"
}
}
}
它有 @param:Action
,但用 @Action
替换它也可以。
这里的@param
是做什么用的,@Action
可以用吗?
@param 用于构造函数参数
详情:
https://kotlinlang.org/docs/annotations.html#annotation-use-site-targets
在 java class 中带有注释:
public final class Info {
private Info() {
}
public static class InfoAction {
public static final String OPEN = "open";
public static final String VIEW_ALL = "view_all";
@Retention(RetentionPolicy.SOURCE)
@StringDef({OPEN, VIEW_ALL})
public @interface Action {
}
public String mAction;
public InfoAction(@Action String action) {
this.mAction = action;
}
}
IDE 转换为科特林:
class Info private constructor() {
class InfoAction(@param:Action var infoAction: String) {
@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
@StringDef(OPEN, VIEW_ALL)
annotation class Action
companion object {
const val OPEN = "open"
const val VIEW_ALL = "view_all"
}
}
}
它有 @param:Action
,但用 @Action
替换它也可以。
这里的@param
是做什么用的,@Action
可以用吗?
@param 用于构造函数参数
详情:
https://kotlinlang.org/docs/annotations.html#annotation-use-site-targets