使用Constant 类

ZDNet软件频道 时间:2003-12-22 作者:ZDNet China |  我要评论()
本文关键词:javatips java
如果你有几个静态的final变量或者常数,但是必须在不同的数据类型之间进行转换,比方从int到Integer,你可以使用Constant类。
本文译自Builder.com,未经许可请勿转载

如果你有几个静态的final 变量或者常数,但是必须在不同的数据类型之间进行转换,比方从int到Integer,你可以使用Constant类。

在编程中最早的一课就是不要在程序里到处写下数字,而是应该把它们放在一些特定的变量里。许多程序代码会与下面这行类似:

static public final int HTTP_DEFAULT_PORT = 80;

但是这会造成两个大麻烦。第一个问题是变量的值通常会认为是唯一的,但是事实上却从来不是这样。例如:

  static public final int DOZEN = 12;

  static public final int MONTHS_IN_YEAR = 12;

public void orderEggs(int number) {

...

}

在上面的代码段里,DOZEN和MONTHS_IN_YEAR是可以互相交换的,而且orderEggs(MONTHS_IN_YEAR) 也是合法的而且无法避免。

 第二个问题是方法签名是与传递的int捆绑在一起的。这意味着把int修改成long或者另一个对象类型的话会造成大量的代码需要改动。

下面的类提供了一个解决这两个问题的方法:

packagecom.generationjava.lang;

 public class Constant {

private final Object value;

public Constant() {

this.value = new Object();

}

public Constant(Object obj) {

this.value = obj;

}

public Constant(inti) {

this.value = new Integer(i);

}


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134