当前位置: 首页 > 知识库问答 >
问题:

整数类型的同义词?

冯曾笑
2023-03-14

我正在编写一个实现一些程序分析的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但有一个更具描述性的名称的类时,这感觉有点矫枉过正。

我有什么选择?

共有1个答案

韩博简
2023-03-14

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

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 注意