如何使用从Java中的方法调用的对象?

我试图弄清楚在方法中调用对象的语法是什么。


伪代码:


    boolean check(Object someObject) {

        return someObject == theOtherObject;

    }


   public static void main(String args[]) {

    someClass one = new someClass();

    someClass two = new someClass();

    one.check(two);

}

因此,该方法应该检查两个对象是否相等,但是我如何指定另一个对象(应该是)?checktheOtherObjectone


提前致谢!


犯罪嫌疑人X
浏览 95回答 3
3回答

达令说

一个字回答:thisboolean check(Object someObject) {    return someObject == this;}这将仅测试对象标识。您应该覆盖等于并使用它。if (one.equals(two)) {    // ...}

慕姐8265434

您可以在内部使用该方法并检查boolean check(Object o)SomeClassboolean check(Object o) {     this == (SomeClass) o; }仅当两个引用变量都指向同一对象时,这才有效。此外,检查两个对象是否有意义相等的正确方法是使用继承的相等和哈希码方法。重写和方法。equalshashCode为什么我需要重写Java中的等号和哈希码方法?https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-

鸿蒙传说

所以你所要求的实际上已经在java.lang.Objects类中有一个命令来与对象进行比较。    one.equals(two)这样做的比较称为浅层比较。因此,如果这是您要做的事情,那么这将起作用。作为参考,geeksforgeeks.org 定义的浅层比较的定义是浅层比较:equals方法的默认实现是在Java.lang.Object类中定义的,它只是检查两个对象引用(例如x和y)是否引用同一个对象。即它检查 x == y。由于 Object 类没有定义其状态的数据成员,因此也称为浅层比较。如果你想做一个更复杂的比较,你最好的选择是实际覆盖一个类文件中的 equals 命令本文将是开始了解有关此主题的更多信息的好地方。https://www.geeksforgeeks.org/equals-hashcode-methods-java/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java