我正在编写一个实现一些程序分析的Java程序。作为这一点的一部分,我想要一种类型来表示我正在分析的程序中的“值”。在我看来,值只是整数。然而,我宁愿不在代码中使用int
/Integer
类型,因为int
/Integer
不是一个非常描述性的名称。我宁愿写值
。然后我想写
class Value extends Integer {}
然后完成。但这不起作用,因为<code>Integer</code>是最终类。因此,我当前的解决方案是给Value
类一个int
字段,然后手动实现所有各种标准方法:
class Value {
int val;
public String toString() {...}
public int hashCode() {...}
public boolean equals(...) {...}
...
}
当我真的只是在寻找行为类似于< code>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);
}
}
主要内容:哪些情况下使用 int 和 uintGo语言的数值类型分为以下几种:整数、浮点数、复数,其中每一种都包含了不同大小的数值类型,例如有符号整数包含 int8、int16、int32、int64 等,每种数值类型都决定了对应的大小范围和是否支持正负符号。本节我们主要介绍一下整数类型。 Go语言同时提供了有符号和无符号的整数类型,其中包括 int8、int16、int32 和 int64 四种大小截然不同的有符号整数类型,分别对应 8、1
整数类型又称数值型数据,数值型数据类型主要用来存储数字。 MySQL 提供了多种数值型数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越大,所需的存储空间也会越大。 MySQL 主要提供的整数类型有 TINYINT、 SMALLINT、 MEDIUMINT、 INT、 BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。下表中列出了 MySQL 中的数值类型。
我有3个CompletableFutures,所有3个都返回不同的数据类型。 我希望创建一个结果对象,它是所有3个期货返回的结果的组合。 因此,我当前的工作代码如下所示: 我的问题是: > 这是处理返回不同结果类型的多个期货的正确方法吗? 在Acceptance Sync中构造ClassD对象是否正确?
我想知道GHCi中(或其他地方)是否存在将类型同义词和族扩展出任意类型表达式的功能。
主要内容:关于 Python 2.x,整数的不同进制,数字分隔符整数就是没有小数部分的数字, Python 中的整数包括正整数、0 和负整数。 有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。 而 Python 则不同
2.2.1 整数类型 int 整数就是没有小数部分的数值,分为正整数、0 和负整数。Python 语言提供了类型 int 用于表示现实世界中的整数信息,如班级里的人数、人的年龄、乒乓球比赛每方的得分等等。 基本数据类型的值都可通过字面值(literal)的形式表示出来,即以字面形式表现值。 整数类型的字面值表示形式和我们在现实世界中的写法一样,例如下列都是合法的整数: 123 -456 0 注意