Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
采用多个参数的Java_Java_Enums_Comparable - Fatal编程技术网

采用多个参数的Java

采用多个参数的Java,java,enums,comparable,Java,Enums,Comparable,我想对多个字段进行排序,并找到了答案:这就是我一直在寻找的 我想在此基础上展开,并为特定枚举传递特定变量。如何做到这一点?(我传递变量的目的是为了进行计算,然后在此基础上进行排序) 不,这是不可能的(好吧,从技术上讲,这不是不可能的,但这将是一个巨大的思考障碍,是一个非常糟糕的想法)。如果您有一个单独的比较器用于所有不同的排序选项(前提是只有少数,可能是5-10个),那么您就有了一个很好的强类型系统 此外,如果名称是ID\u SORT,为什么要按ID以外的任何东西进行排序?任何使用代码的人都会感

我想对多个字段进行排序,并找到了答案:这就是我一直在寻找的

我想在此基础上展开,并为特定枚举传递特定变量。如何做到这一点?(我传递变量的目的是为了进行计算,然后在此基础上进行排序)

不,这是不可能的(好吧,从技术上讲,这不是不可能的,但这将是一个巨大的思考障碍,是一个非常糟糕的想法)。如果您有一个单独的
比较器
用于所有不同的排序选项(前提是只有少数,可能是5-10个),那么您就有了一个很好的强类型系统


此外,如果名称是
ID\u SORT
,为什么要按ID以外的任何东西进行排序?任何使用代码的人都会感到困惑。

enum可以像其他类一样拥有成员变量。但我不明白你想达到什么目的。“**-variableName**”是什么意思?请添加更多详细信息。就目前而言,您的问题是Unclarit会破坏拥有枚举的目的,不是吗?我想向枚举传递一个整数,因此当调用特定枚举时,我可以在排序过程中进行进一步处理如果您需要参数化比较器,那么它就不能是枚举,因为您希望能够为每个可能的参数值创建特定的比较器实例。只需创建一个ByIdWithParameterComparator类,将参数作为其构造函数的参数。如果只是一个示例,我将执行不同类型的排序。我想你是在寻找一种不用写代码就能做到这一点的方法。最终的解决方案(带有反射)不会很整洁,即使它会更短。