如何只允许某些值作为Java中方法的参数?

kaolick:

我想写一个只接受参数某些值的方法,例如ToastAndroid类中的fe 您只能使用Toast.LENGTH_SHORTToast.LENGTH_LONG作为方法的持续时间makeText(Context context, int resId, int duration)我查看了Toast该类的源代码,但未找到任何内容。我该如何实现?

艾略特·弗里施(Elliott Frisch):

使用Java教程中Enum Type

枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量。该变量必须等于为其预定义的值之一。常见的示例包括指南针方向(北,南,东和西的值)和星期几。

举个例子,

public enum MyEnum {
  ONE, TWO;
}

public static void myMethod(MyEnum a) {
  // a must be MyEnum.ONE or MyEnum.TWO (in this example)
}

编辑

要从您的枚举类型中获取字符串,您可以使用以下方法添加字段级别值(必须是编译时间常数),

public enum MyEnum {
  ONE("uno"), TWO("dos");
  MyEnum(String v) {
    value = v;
  }
  private String value;
  public String getValue() {
    return value;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章