gpt4 book ai didi

java - 检查对象是否等于java中对象中存储的数据

转载 作者:行者123 更新时间:2023-12-02 12:27:47 24 4
gpt4 key购买 nike

我有一个 IPAdress.java 类,它有一个带有 int 数组的构造函数来存储 IP 地址。我必须检查作为参数传递的对象是否等于对象中存储的 IP 地址。我尝试过这样的事情:

    public boolean isTheSame(IPAdress p){
if(????) {
return true;
} else {
return false;
}
}

我还有另一种创建对象的方法

    public static IPAdress fromString(String ipStr) {
int[] arr = new int[4];
String[] split = ipStr.split("\\.");
for(int i=0;i<4;i++){
arr[i]=Integer.parseInt(split[i]);
System.out.println(arr[i]);
}
IPAdress p = new IPAdress (arr);
return p;
}

最佳答案

假设您有这样的方法来获取内部表示(例如,假设您的方法名为 asArray(),您可以使用 java.util.Arrays.equals(int[], int[]) ):

public boolean isTheSame(IPAdress p) {
return Arrays.equals(asArray(), p.asArray());
}

编辑:
顺便说一句,请注意,执行此操作的规范 Java 方法是重写 eauls(Object):

@Override
public boolean equals(Object o) {
if (!(o instanceof IPAddress) {
return false;
}
return Arrays.equals(asArray(), ((IPAddress) o).asArray());
}

关于java - 检查对象是否等于java中对象中存储的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26672843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com