gpt4 book ai didi

java - 整数类型的同义词?

转载 作者:行者123 更新时间:2023-12-01 10:05:38 25 4
gpt4 key购买 nike

我正在编写一个Java程序来实现一些程序分析。作为其中的一部分,我想要一种用于表示我正在分析的程序中的“值”的类型。就我的目的而言,值只是整数。但是,我不想在代码中使用 int/Integer 类型,因为 int/Integer 不是一个非常具有描述性的名字。我宁愿写Value。然后我

class Value extends Integer {}

然后就完成了。但这不起作用,因为 Integer 是最终类。所以我当前的解决方案是给我的 Value 类一个 int 字段,然后手动实现所有各种标准方法:

class Value {
int val;
public String toString() {...}
public int hashCode() {...}
public boolean equals(...) {...}
...
}

当我真的只是在寻找行为类似于 Integer 但具有更具描述性名称的类时,这感觉有点矫枉过正。

我有什么选择?

最佳答案

您几乎可以将任何内容包装在代理中:

class Value<T extends Number> extends Number {

final T v;

public Value(T v) {
this.v = v;
}

@Override
public int intValue() {
return v.intValue();
}

@Override
public long longValue() {
return v.longValue();
}

@Override
public float floatValue() {
return v.floatValue();
}

@Override
public double doubleValue() {
return v.doubleValue();
}

@Override
public String toString() {
return v.toString();
}

@Override
public int hashCode() {
return v.hashCode();
}

@Override
public boolean equals(Object obj) {
return v.equals(obj);
}

}

关于java - 整数类型的同义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com