annotation
1743 ワード
public class LoginAppbarDeco extends AppbarDecorator {
こんなハーモニーが
@StringResのキャラクターを知りたいです.
まず名前はAnnotation
3つの形態がある.
Nullness annotattions
Resource type annotations
IntDef and StringDef annotations
Nullness annotations @Nonnull
これは、伝達されたparamがnullではないことを意味します.
nullが明示的に渡されると、警告が表示されます.
逆に@Nullableもあります. Resource type annotations 転送されるリソースのタイプを指定できます.
@StringRes、@DrawableRes、@ColorRes、@InterpolatorResなど.
@AnyResでもいいです. IntDef and StringDef annotations IntDefまたはStringDefは、Annotationを定義するときに渡される値を検証できます.これは良いです.
paramに渡される値が定義された3つの値でない場合は、エラーを表します.
また,IDEでは提案論点としても機能する.
出典:https://aroundck.tistory.com/4637[猪王遊園地]
値を全体的に注釈するだけ
public LoginAppbarDeco(@StringRes int titleRes, @DrawableRes int imageTitleRes, Runnable leftRunnable) {
super(R.color.white, R.drawable.btn_top_back, titleRes, imageTitleRes, leftRunnable);
}
}こんなハーモニーが
@StringResのキャラクターを知りたいです.
まず名前はAnnotation
3つの形態がある.
Nullness annotattions
Resource type annotations
IntDef and StringDef annotations
これは、伝達されたparamがnullではないことを意味します.
nullが明示的に渡されると、警告が表示されます.
逆に@Nullableもあります.
void sayHello(@StringRes int id){
...
}
ここで渡されたidがstring resでない場合、errorが表示されます.@StringRes、@DrawableRes、@ColorRes、@InterpolatorResなど.
@AnyResでもいいです.
public class IceCreamFlavourManager {
private int flavour;
public static final int VANILLA = 0;
public static final int CHOCOLATE = 1;
public static final int STRAWBERRY = 2;
@IntDef({VANILLA, CHOCOLATE, STRAWBERRY})
public @interface Flavour {
}
@Flavour
public int getFlavour() {
return flavour;
}
public void setFlavour(@Flavour int flavour) {
this.flavour = flavour;
}
}
前述したように、Flavierコメントを定義して使用します.paramに渡される値が定義された3つの値でない場合は、エラーを表します.
また,IDEでは提案論点としても機能する.
出典:https://aroundck.tistory.com/4637[猪王遊園地]
値を全体的に注釈するだけ
Reference
この問題について(annotation), 我々は、より多くの情報をここで見つけました https://velog.io/@jsw4215/annotationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol