gpt4 book ai didi

java - 避免对象中的参数参数具有相同的值

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:11 25 4
gpt4 key购买 nike

假设我在 Java 中创建一个像这样的对象

Student std1 = new Student("Tom", "male");

我需要防止另一个对象(例如:std2、std3 等)与 std1 具有相同的值。怎么做?

[编辑]我想要的示例是:

不允许: Student std2 = new Student("Tom", "male");

允许: Student std2 = new Student("Not Tom", "male");Student std2 = new Student("Tom", "female");Student std2 = new Student("John", "male");

谢谢

最佳答案

您可以通过添加串联的姓名、性别来创建静态字符串哈希集。

class YourClass {
public static Set<String> studentSet = new HashSet<>();

public static void addStudent(String name, String gender) {
YourClass.studentSet.add(name + "," + gender);
}

public static Boolean studentExists(String name, String gender) {
return YourClass.studentSet.constains(name + "," + gender);
}

因此,您的 HashSet 中的数据将类似于 Tom,male 、Tom,female、John,male。

class Student {
...

public Student(String name, String gender) {
this.name = name;
this.gender = gender;
YourClass.addStudent(name, gender);
}
}

在创建 Student 实例时,您可以检查 HashSet 中是否没有 Name、Gender,然后实例化并对象。

if(!YourClass.studentExists(name, gender)) {
Student student = new Student(name, gender);
}

希望这能解决您的问题

关于java - 避免对象中的参数参数具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58058399/

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