java - 具有有限选项的自定义数据类型,在 Java 中

标签 java variables types user-defined-types custom-data-type

尝试创建自定义(用户定义)数据类型,who 的值可能只能是几个选项之一,例如不同的状态。像这样的东西:
交通灯= [“红色” | “琥珀色” | “绿色”];
或者
硬币 = [0.01 | 0.02 | 0.05 | 0.1 | 0.2 | 0.5 | 1 | 2];

在这些示例中,我猜 trafficLight 只是一个具有有限选项的 String,类似地,coinint.

我认为我需要为这些新数据类型进行分类,但我如何限制分配给这些自定义数据类型的变量的可能值?

最佳答案

使用枚举怎么样。以下是如何使用它的示例。通过使用枚举作为方法的参数,您可以将值限制为仅枚举允许的值。

public class MyNewType {

    public void someMethod(TrafficLight tl, Coin coin) {
        //do something
    }

    public static enum TrafficLight {
        red, amber, green;
    }

    public static enum Coin {
        oneCent(.01f), twoCent(.02f), fiveCent(.05f), tenCent(.1f), fiftyCent(.5f), oneDollar(1f), twoDollar(2f);

        private Coin(float amount) {
            this.amount = amount;
        }
        float amount;

    }

}

关于java - 具有有限选项的自定义数据类型,在 Java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49496128/

相关文章:

java - 如何在从 Spark 使用 Kafka 时获取偏移量 ID,将其保存在 Cassandra 中并使用它来重启 Kafka?

java - 在高级 Java 游戏中存储全局/静态变量的最佳方式是什么?

java - dbcp : number of open prepared statement

Java:重置按钮不起作用

javascript - JavaScript : assign var in function and use var out that function

scala - 将两个类型通配符标识为相同

Python 3.6 通用类型提示

inheritance - Erlang 类型定义

java - 将对象插入到 jsonarray 中的特定位置

java - JButton,setText 不起作用?