私はAndroidアプリケーションを開発し、多くの場合アンドロイドのsupport annotationsというコンパイル時のパラメータチェックとして注釈を使用します。 JavaコードでkotlinでAndroidサポートのtypedefアノテーションを使用するには?
例:
public class Test
{
@IntDef({Speed.SLOW,Speed.NORMAL,Speed.FAST})
public @interface Speed
{
public static final int SLOW = 0;
public static final int NORMAL = 1;
public static final int FAST = 2;
}
@Speed
private int speed;
public void setSpeed(@Speed int speed)
{
this.speed = speed;
}
}
ため、私はアンドロイドでのパフォーマンスの問題の列挙型を使用する必要はありません。 kotlinへの自動変換器は無効なコードを生成するだけです。 kotlinで@IntDef
アノテーションを使用するにはどうすればよいですか?
あなたが自由に列挙型を使用することができ、彼らは(どんな意味で「遅い」ではありませんhttp://stackoverflow.com/questions/5143256/why-was-avoid-enums-where android-performanc) –
@AlexanderUdalov、1)https://www.youtube.com/watch?v=Hzs6OBcvNQE 2)列挙型はデフォルトでパーセル可能ではなく、定型文も追加されていますインテントのparamsに渡す必要があるときにコードを生成する3)ネットワークから受け取った値を列挙型に変換する方法が不明瞭で、列挙型の安全性を排除する。 – curioushikhov
@curioushikhov ProGuardは、可能であれば、列挙型を整数定数に単純化します([Optimizations](http://proguard.sourceforge.net/manual/optimizations.html))。 – mfulton26