Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Sorting_Annotations - Fatal编程技术网

Java 为对象分类器使用注释?

Java 为对象分类器使用注释?,java,sorting,annotations,Java,Sorting,Annotations,我正在使用一个容器来保存同一类的对象列表,这些对象具有使用自定义保留排序注释的特定字段。注释的目的有两个: 将该字段标记为可以与同一字段中的其他对象进行比较。 并给出字段的排序名称,如修改日期或名字。 然后,容器将遍历对象列表,记住它们是相似的,并收集对象包含的RentOnSortable列表,并将该列表传递给GUI。GUI将显示列表并请求可排序选择,然后将其返回给可排序表,该可排序表将根据所选的保留排序表对列表进行排序 此方法或排序对象的目的是允许我创建一个小容器,该容器一般可以接受任何对象并

我正在使用一个容器来保存同一类的对象列表,这些对象具有使用自定义保留排序注释的特定字段。注释的目的有两个:

将该字段标记为可以与同一字段中的其他对象进行比较。 并给出字段的排序名称,如修改日期或名字。 然后,容器将遍历对象列表,记住它们是相似的,并收集对象包含的RentOnSortable列表,并将该列表传递给GUI。GUI将显示列表并请求可排序选择,然后将其返回给可排序表,该可排序表将根据所选的保留排序表对列表进行排序

此方法或排序对象的目的是允许我创建一个小容器,该容器一般可以接受任何对象并对其进行排序,只要它至少有一个RetentionSortable字段

我的直觉告诉我,这是一个糟糕的做法,太依赖反思是一个坏主意,但我的测试工作完美无瑕,比我预期的要好


使用注释反射查找由特定注释注释的所有字段是抽象对象排序的良好实践吗?

您认为基本上每个注释驱动的配置框架都是如何工作的?给我所有用“@Inject”注释的某某类型字段,或者给我包baz.plugh中用“@Controller”注释的所有内容


不管它是否适合抽象排序,我不明白为什么不。如果它可以工作,并且不需要像bean映射器和bean信息类这样的东西,那么问题是什么?

您认为基本上每个注释驱动的配置框架都是如何工作的?给我所有用“@Inject”注释的某某类型字段,或者给我包baz.plugh中用“@Controller”注释的所有内容


不管它是否适合抽象排序,我不明白为什么不。如果它能工作,并且不需要像bean映射器和bean信息类这样的东西,那么问题出在哪里呢?

注释是为了方便而存在的,您的使用使情况变得更加方便,因此它看起来是合理的。另一种方法是维护一个单独的字典,其中包含哪些字段可以对哪些对象进行排序,这稍微麻烦一些,但从关注点分离的角度来看要好一些

问题实际上是,您的对象是否应该知道注释,在注释没有意义或冲突的另一种情况下,该对象是否将被重用。使用单独的可排序字段列表,您可以选择在任何给定情况下应用哪个字段


如果方便的权衡对您有效,那么您应该坚持使用注释,只要您知道潜在的设计后果,而这些后果可能与您的具体情况无关。

注释是为了方便而存在的,您的使用使情况更加方便,因此它似乎是合理的。另一种方法是维护一个单独的字典,其中包含哪些字段可以对哪些对象进行排序,这稍微麻烦一些,但从关注点分离的角度来看要好一些

问题实际上是,您的对象是否应该知道注释,在注释没有意义或冲突的另一种情况下,该对象是否将被重用。使用单独的可排序字段列表,您可以选择在任何给定情况下应用哪个字段


如果方便的折衷方法对您有效,那么您应该坚持使用注释,只要您意识到潜在的设计后果,而这对您的具体情况可能没有任何影响。

Huh,我从来没有想到我的项目在注释方法上是独一无二的,但我不认为整个框架都是基于它的。很高兴知道。这些知识让我的问题无效。嗯,我从来没有想过我的项目在注释方法上是独一无二的,但我不认为整个框架都是基于它的。很高兴知道。我的问题完全不需要知道这一点。