java - java中的比较运算符对象

标签 java operators operator-keyword

Java 中是否有这些比较运算符(<、<=、==、>=、>、!=)的对象表示形式?

例如使用案例:

void filterHotel( Object operator, float rating ) {

    String query = "SELECT hotel.name from hotel where hotel.rating " + 
operator.toString() + rating;    
    // execute query
}

最佳答案

。但它很容易编写,考虑使用 enum 和自定义方法:

public enum Operator {
    EQUAL("=="),
    NOT_EQUAL("<>"),
    GREATER_THAN(">"),
    GREATER_THAN_OR_EQUAL(">="),
    LESS_THAN("<"),
    LESS_THAN_OR_EQUAL("<=");

    private final String representation;

    private Operator(String representation) {
        this.representation = representation;
    }

    public String getRepresentation() {
        return representation;
    }
}

通过,例如Operator.LESS_THAN 并使用 operator.getRepresentation() 提取实际运算符。

还要确保用户不能用任意字符串代替运算符以避免 .

关于java - java中的比较运算符对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671865/

相关文章:

operator-overloading - 如何求两个 float 的平均值

java - 在 Android 中设置可滚动的日期和时间选择器

java - 所有测试用例之前的数据加载和所有测试用例之后的销毁

java - Maven 构建错误 : mvn. bat 无法识别

mysql - 了解mysql子查询编写长尾查询

r - 之间的区别和||在 R

R, R6 运算符重载

c++ - 使用 boost multi_array 迭代器在数组元素之间赋值

c++ - 在命名空间中使用正确的语法实现非成员重载运算符

java - gRPC + Bazel + Envoy Json Proxy - 如何导入 google/api/annotations.proto