java - 如何为对象添加或减去字符串值,并在值为空时将值设置为 "none"?

标签 java

我有一个类 Passengers,它具有成员属性 String nameint healthString disease setter 和 getter 方法。 disease 变量最初将保存为 null。这是那个类(class)

public class Passengers
{
    private String name;
    private int health;
    private String disease;

    public Passengers(String _name, int _health, String _disease)
    {
        name = _name;
        health = _health;
        disease = _disease;
    }

    public void setHealth(int _health)
    {
        health = _health;
    }
    public void setDisease(String _disease)
    {
        disease = _disease;
    }

    public String getName()
    {
        return name;
    }
    public int getHealth()
    {
        return health;
    }
    public String getDisease()
    {
        return disease;
    }
}

我想知道的是如何将新字符串添加到此变量,然后如何删除。例如,乘客 Bill 从 null 开始因疾病而感染疟疾和感冒。 Bill 的disease 变量现在应该包含malaria, cold。现在假设用户选择治疗比尔的疟疾。我会怎样
1) 添加疟疾和感冒
2) 从疾病中减去疟疾?

每当我尝试用

passengers[index].setDisease() = null;

它说“错误:乘客类中的方法 setDisease 不能应用于给定类型:
必填:字符串
发现:没有参数”

最佳答案

我建议将疾病设为 Set字符串。

Set<String> diseases = new HashSet<String>();

void addDisease(String disease) {
    diseases.add(disease);
}

void removeDisease(String deisease) {
    diseases.remove(disease);
}

集合在这种情况下比其他集合“更好”,因为它们不能包含重复项。

关于java - 如何为对象添加或减去字符串值,并在值为空时将值设置为 "none"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15352880/

相关文章:

java - Java 中的继承和转换

java - 如何在 Mac OSX 上同时运行两个 Java ME 模拟器

java - 我在java项目上找不到SqlServerDriver

java - java中动态更新JSON文档

java - 未定义名为 'springSecurityFilterChain' 的 bean

java - 在 clojure 中迭代 SQL 结果并更新值

java - 如何设置每次不同间隔的新作业

java - 来自给定 wsdl 文件的 "java form generator"

java - 从终端编译这个 Lanterna Maven 项目需要什么?

java - 为什么以及如何使用 JShell?