在Java中将字符串解析为比较器类型

在Java中将字符串解析为比较器类型,java,string,parsing,comparison,comparator,Java,String,Parsing,Comparison,Comparator,有条件 String str1 = "=="; String str2 = "<="; String str3 = "!="; ... String str1=“=”; String str2=“制作map 其中,键是要应用的运算符,对象是相关的比较器实例 按键获取相关比较器,并在需要时应用它。制作一个映射图 其中,键是要应用的运算符,对象是相关的比较器实例 按键获取相关比较器,并在需要时应用它。使用开关,或者您可以将全部转换为字符串(例如:a==b)然后使用一些引擎来解析并得到结果:)

有条件

String str1 = "==";
String str2 = "<=";
String str3 = "!=";
...
String str1=“=”;
String str2=“制作
map

其中,键是要应用的运算符,对象是相关的
比较器
实例

按键获取相关比较器,并在需要时应用它。

制作一个
映射图

其中,键是要应用的运算符,对象是相关的
比较器
实例


按键获取相关比较器,并在需要时应用它。

使用
开关
,或者您可以将全部转换为字符串(例如:a==b)然后使用一些引擎来解析并得到结果:)@ronnguyen不,
开关
在这种情况下不是一个好选项。
映射
更有效better@RafaelOsipov您的解决方案很酷,经过投票!@ronnguyen谢谢:)使用
开关
,或者您可以将所有内容转换为字符串(例如:a==b)然后使用一些引擎来解析并得到结果:)@ronnguyen不,
开关
在这种情况下不是一个好选项。
映射
更有效better@RafaelOsipov您的解决方案很酷,经过投票!@ronnguyen谢谢:)相关的比较器实例会是什么样子?此外,我的可比值具有不同的数据类型(字符串、整型、浮点型)和将有不同的名称。如果需要比较不同类型的值,则需要确定如何相互比较不同类型的值。如何比较字符串和双精度?将字符串转换为双精度并比较两个双精度,或将双精度转换为字符串并比较两个字符串?我将始终比较相同的类型(int与int,String与String),但比较器需要处理所有通用的数据类型。就像您可以使用“在这种情况下,不要使用标准java
comparator
接口。编写自己的
CustomComparator
接口并声明方法
compare(int,int)
compare(浮点,浮点)
比较(双精度,双精度)
比较(字符串,字符串)
等等。然后为每个操作实现此接口。并按照我在回答中的建议使用map,通过操作字符串获得相关的自定义比较器。相关比较器实例是什么样子的?此外,我的可比较值具有不同的数据类型(字符串、int、float)和将有不同的名称。如果需要比较不同类型的值,则需要确定如何相互比较不同类型的值。如何比较字符串和双精度?将字符串转换为双精度并比较两个双精度,或将双精度转换为字符串并比较两个字符串?我将始终比较相同的类型(int与int,String与String),但比较器需要处理所有通用的数据类型。就像您可以使用“在这种情况下,不要使用标准java
comparator
接口。编写自己的
CustomComparator
接口并声明方法
compare(int,int)
compare(float,float)
比较(double,double)
比较(String,String)
等等。然后为每个操作实现此接口。并按照我在回答中建议的使用map,通过操作字符串获得相关的自定义比较器。