Corda中两种状态的比较

时间:2018-05-23 05:01:41

标签: kotlin corda

我在corda中创建了两个状态。现在我想比较这两个状态的字段,并根据比较创建第三个状态。可能吗?如果可能怎么做?除了比较每个字段之外,还有其他理想的编程解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Kotlin,则可以使用数据类:https://kotlinlang.org/docs/reference/data-classes.html例如,以下内容将返回true

data class Person(val name: String)
val person1 = Person("John")
val person2 = Person("John")
person1 == person2

因为等式仅基于主构造函数中的字段确定。或者,您可以覆盖班级的equals方法。

如果您只是想比较某些字段,可以直接在大if语句中对它们进行比较。但是,如果您使用的是data类,则还可以通过创建一个副本来比较它们,其中想要比较的字段在两个实例中都设置为相等。例如,以下内容将返回true

data class Person(val name: String, val age: Int, val address: String)
val person1 = Person("John", 24, "London")
val person2 = Person("John", 25, "London")
person1 == person2.copy(age = person1.age)