是否可以将传递给方法的参数限制为常量?

时间:2013-10-18 02:13:22

标签: java

我有一个有一些常量的类,我有一个方法,我喜欢将它的参数限制在类中定义的那些常量,有没有办法在java中实现这个?

2 个答案:

答案 0 :(得分:6)

为此使用枚举。它们常量,允许进行编译时类型检查,实际上这是创建它们的原因之一。

答案 1 :(得分:2)

常量:

enum DistanceUnit {
  MILE,
  KILOMETER
}

double calculateCaloriesBurned (double distanceWalked, DistanceUnit unit);

沿着同样的路线,假设你不喜欢走偏距离的人:

class Distance {
  private double value;

  public Distance (value) {
    if (value < 0) { throw new IllegalArgumentException(); }
    ...
  }
}

double calculateCaloriesBurned (Distance distanceWalked, DistanceUnit unit);