Android
Typedef 주석 : @IntDef, @StringDef
수색…
비고
주석 패키지에는 자신의 코드를 꾸밀 수있는 유용한 메타 데이터 주석이 여러 개 들어있어 버그를 잡는 데 도움이됩니다.
build.gradle
파일에 종속성을 추가하기 build.gradle
됩니다.
dependencies {
compile 'com.android.support:support-annotations:25.3.1'
}
IntDef 주석
이 주석은 예상되는 유효한 정수 상수 만 사용되도록합니다.
다음 예제에서는 주석을 만드는 단계를 보여줍니다.
import android.support.annotation.IntDef;
public abstract class Car {
//Define the list of accepted constants
@IntDef({MICROCAR, CONVERTIBLE, SUPERCAR, MINIVAN, SUV})
//Tell the compiler not to store annotation data in the .class file
@Retention(RetentionPolicy.SOURCE)
//Declare the CarType annotation
public @interface CarType {}
//Declare the constants
public static final int MICROCAR = 0;
public static final int CONVERTIBLE = 1;
public static final int SUPERCAR = 2;
public static final int MINIVAN = 3;
public static final int SUV = 4;
@CarType
private int mType;
@CarType
public int getCarType(){
return mType;
};
public void setCarType(@CarType int type){
mType = type;
}
}
또한 코드 완성을 통해 허용 된 상수를 자동으로 제공 할 수 있습니다.
이 코드를 작성할 때 type 매개 변수가 정의 된 상수 중 하나를 참조하지 않으면 경고가 생성됩니다.
플래그와 상수 결합하기
IntDef#flag()
특성을 true
설정하면 여러 상수를 결합 할 수 있습니다.
이 항목의 동일한 예제 사용 :
public abstract class Car {
//Define the list of accepted constants
@IntDef(flag=true, value={MICROCAR, CONVERTIBLE, SUPERCAR, MINIVAN, SUV})
//Tell the compiler not to store annotation data in the .class file
@Retention(RetentionPolicy.SOURCE)
.....
}
사용자는 허용 된 상수를 플래그 (예 : |
, &
, ^
)와 결합 할 수 있습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow