我在C#中有下一个代码:
public CryptoTimeInForce? TimeInForce ;
public void metod(SomeClass baseTrade){
this.TimeInForce = new CryptoTimeInForce?(baseTrade.TimeInForce);
}
CryptoTimeInForce是枚举
public enum CryptoTimeInForce : byte
{
///values
}
如何在Java中创建枚举以提供与C#代码相同的逻辑? Java中的枚举无法实例化,我无法在Java中重复相同的代码。 还有其他选择吗?
答案 0 :(得分:1)
在Java中,您得到“?”是免费的,因为java枚举是对象,所以它们始终可以为空。
在Java中,您不能有enum
的{{1}}派生,但这没关系,这只是性能优化。
java枚举和C#枚举之间还有许多其他区别,但是从您展示给我们的代码来看,绝对没有问题会成为您尝试做的事情。
此外,正如DavidG的评论所说,在C#中实例化一个枚举是完全没有意义的,因此不能在Java中实例化枚举的事实应该是无关紧要的。枚举不是要实例化的,它们只是常量。