C#和Java Enum构造函数之间是什么

时间:2019-02-06 17:29:29

标签: java c#

我在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中重复相同的代码。 还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

在Java中,您得到“?”是免费的,因为java枚举是对象,所以它们始终可以为空。

在Java中,您不能有enum的{​​{1}}派生,但这没关系,这只是性能优化。

java枚举和C#枚举之间还有许多其他区别,但是从您展示给我们的代码来看,绝对没有问题会成为您尝试做的事情。

此外,正如DavidG的评论所说,在C#中实例化一个枚举是完全没有意义的,因此不能在Java中实例化枚举的事实应该是无关紧要的。枚举不是要实例化的,它们只是常量。