gpt4 book ai didi

java - 什么时候调用枚举构造函数?

转载 作者:行者123 更新时间:2023-12-01 08:14:20 24 4
gpt4 key购买 nike

我正在使用枚举将一副纸牌实现为单例,以便我可以从程序中的任何位置普遍访问这副纸牌。作为枚举构造函数的一部分,它对每张卡的数组列表进行洗牌,并将它们全部插入堆栈(这似乎象征性地合适)。

什么时候调用该构造函数?它是在运行时构建的吗?编译时间?我第一次调用枚举?我可以期望每次运行该程序时,这副牌都会被正确随机化吗?

谢谢!

最佳答案

我认为你的设计方式是错误的。 enum 表示一组有限值,不应该具有全局功能。它们只是常量,每个常量都可以有功能,但更多的东西不值得这样做。

直接在枚举构造函数中将洗牌功能引入套牌(在任何情况下都会调用每个常量)似乎不是正确的方法。

更好的解决方案是有 4 个不同的类,例如:

enum Suit {
HEARTS,
CLUBS,
..
}

enum Value {
ACE,
TWO,
..
}

class Card {
Suit suit;
Value value;
}

class Deck {
List<Card> cards;

public void shuffle() { .. }
}

关于java - 什么时候调用枚举构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14690771/

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