比较具有其他含义的两个字符串

时间:2019-05-03 21:45:29

标签: scala

由于字符串的含义,我在比较字符串时遇到了很大的问题。例如,我有“ Yellow”之类的字符串和“ Blue”之类的字符串。在我的应用程序中,黄色小于蓝色。那么我如何建模呢?我试图使用这样的枚举

object Color extends Enumeration {
 val yellow = Value(0)
 val blue  = Value(1)
}

在我的职能中,我拥有

def isBigger(color1 : String, color2 : String) = Boolean = {
???
}

但是我不希望如何比较它们。请一些建议。

2 个答案:

答案 0 :(得分:6)

您可以使用StringColor转换为withName的值,然后进行比较:

object Color extends Enumeration {
 val yellow = Value(0)
 val blue  = Value(1)
}
def isBigger(color1 : String, color2 : String) : Boolean = 
     Color.withName(color1) < Color.withName(color2)

println(isBigger("blue", "yellow"))  //false
println(isBigger("yellow", "blue"))  //true

答案 1 :(得分:3)

这是一种使用颜色public class XYZModule extends AbstractModule { @Override protected void configure() { } @Provides @Singleton private XYZ provideXYZ() { return new XYZ(1, 2); } } 的方法,每种颜色都分配了权重(根据特定的业务逻辑),如下所示:

Map