【问题标题】:Determining available operators at runtime在运行时确定可用的运算符
【发布时间】:2011-04-17 15:27:47
【问题描述】:

我希望能够在运行时检索对象的可用运算符,可能与 getMethod() 调用类似。

特别是,我需要能够在运行时调用对象的小于/大于运算符。

基本上,我有一堆被转换为 Object 对象类型的原语。我需要在运行时对它们进行比较。 (我确实知道被比较的对象将是相同的原始类型,并且已经实现了我自己的类型检查)。

或者......也许有一种方法可以以编程方式将这些对象转换回它们的原始类型,并使用它们的原生比较运算符......不知何故?

感谢您的帮助。

【问题讨论】:

  • 你不能反射性地调用操作符。

标签: java class operator-keyword getmethod


【解决方案1】:

Java 中无法获取可用的运算符。为了进行比较,该类应该(您也可以通过反射来实现)实现Comparable 接口。

【讨论】:

    【解决方案2】:

    如果它们是自动装箱的原始类型,则算术运算符集对于布尔以外的所有类型都是相同的,并且除了两种 FP 类型之外,位运算符集也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 2015-09-11
      • 2023-03-09
      相关资源
      最近更新 更多