当前位置: 首页 > 面试题库 >

Java:方法中的Enum参数

上官扬
2023-03-14
问题内容

我有一个方法可以说:

private static String drawCellValue(
    int maxCellLength, String cellValue, String align) { }

正如您所注意到的,我有一个名为align的参数。在此方法内部,我将对值是“左”还是“右”有一些if条件。.将参数设置为String,显然我可以传递任何字符串值..我想知道是否有可能将Enum值用作方法参数,如果是,如何?

以防万一有人想到这个;我考虑过使用布尔值,但我并不喜欢它。首先,如何将true / false与left /
right关联?(好的,我可以使用注释,但是我仍然觉得它很脏),其次,我可能决定添加一个新值,例如’justify’,因此,如果我有两个以上的可能值,则绝对不能使用布尔型。

有任何想法吗?


问题答案:

应该这样做:

private enum Alignment { LEFT, RIGHT };    
String drawCellValue (int maxCellLength, String cellValue, Alignment align){
  if (align == Alignment.LEFT)
  {
    //Process it...
  }
}


 类似资料:
  • 问题内容: 我有一个包含要进行计算的枚举的类。每个枚举都使用外部类的一些或全部非静态变量。但是,由于它们无法访问实例变量,因此我必须将它们作为参数传递。 我的问题是我无法以统一的方式在for循环中传递参数。我可以使每个Enum方法采用所有类 但是,如果我有更多的类,则该参数看起来太难看了。有没有更好的方法来做这种事情? 问题答案: 为什么不将external的实例传递给calc()方法。在这种情况

  • 本文向大家介绍Java Enum finalize()方法与示例,包括了Java Enum finalize()方法与示例的使用技巧和注意事项,需要的朋友参考一下 枚举类方法 finalize()方法在java.lang包中可用。 finalize()方法用于表示枚举类不包含finalize方法。 finalize()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到

  • 本文向大家介绍Java Enum compareTo()方法与示例,包括了Java Enum compareTo()方法与示例的使用技巧和注意事项,需要的朋友参考一下 枚举类方法 compareTo()方法在java.lang包中可用。 compareTo()方法用于在数学上检查给定Enum对象与此给定Enum对象的相等性或不相等性,换句话说,可以说此方法用于比较两个相同类型的Enum常量。 co

  • 本文向大家介绍Java Enum hashCode()方法与示例,包括了Java Enum hashCode()方法与示例的使用技巧和注意事项,需要的朋友参考一下 枚举类方法 hashCode()方法在java.lang包中可用。 hashCode()方法用于检索此枚举常量的哈希码。 hashCode()方法是一种非静态方法,仅可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。 h

  • 本文向大家介绍Java Enum ordinal()方法与示例,包括了Java Enum ordinal()方法与示例的使用技巧和注意事项,需要的朋友参考一下 枚举类方法 ordinal()方法在java.lang包中可用。 ordinal()方法用于返回此枚举常量的位置,该位置取决于其枚举声明中定义的内容,并且枚举常量的起始元素的位置从0开始。 ordinal()方法是一种非静态方法,只能通过类

  • 本文向大家介绍Java Enum clone()方法与示例,包括了Java Enum clone()方法与示例的使用技巧和注意事项,需要的朋友参考一下 枚举类方法 clone()方法在java.lang包中可用。 clone()方法用于确保不能克隆枚举(即无法复制枚举对象),这是保持属性的“单例”行为所必需的。 clone()方法是一种非静态方法,只能使用类对象访问,如果尝试使用类名称访问该方法,