Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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_Class_Methods_Comparison - Fatal编程技术网

Java 我应该在哪节课上放一个比较的方法?

Java 我应该在哪节课上放一个比较的方法?,java,class,methods,comparison,Java,Class,Methods,Comparison,假设我有一个叫做myClass的类。我想要一个比较myClass实例的方法,看看myClass的一个对象是否“大于”myClass的另一个对象。 是否应将此方法放入myClass类中? 直觉上,这似乎是错误的,因为“compare”方法实际上不是应该由两个对象执行的操作。(例如,当比较两个数字时,数字本身不会进行比较。。我们人类比较数字并确定比较结果。您可以通过两种方式进行比较: 使用普通的compareTo()方法将对象的当前实例与另一个实例进行比较,例如: obj1.比较到(obj2) 拥有

假设我有一个叫做myClass的类。我想要一个比较myClass实例的方法,看看myClass的一个对象是否“大于”myClass的另一个对象。 是否应将此方法放入myClass类中? 直觉上,这似乎是错误的,因为“compare”方法实际上不是应该由两个对象执行的操作。(例如,当比较两个数字时,数字本身不会进行比较。。我们人类比较数字并确定比较结果。

您可以通过两种方式进行比较:

  • 使用普通的
    compareTo()
    方法将对象的当前实例与另一个实例进行比较,例如:

    obj1.比较到(obj2)

  • 拥有属于比较2个对象实例的
    myClass
    类的静态方法,例如

    myClass.CompareObject(obj1,obj2)


  • 创建一个新类来添加比较方法是一种浪费。实际上,使用同一个类是有意义的。例如,如果你想比较一个“锤子”和另一个“锤子”,你不会让一个“苹果”替你比较。您可以选择一个,并观察与另一个的差异。如果您选择选项1,请不要忘记MyClass应该实现Comparable!