簡體   English   中英

如何將HashSet元素添加到Arraylist中的對象?

[英]How to add HashSet element to object in Arraylist?

我想向我的醫生 ArrayList 中的對象添加一個HashSet String (醫生專業),但無法從驅動程序訪問專家(醫生類型)類。 專科醫生類是注冊醫生的子類,注冊醫生是醫生的子類。

我在添加專科醫生時添加了專長,但現在無法在不向數組列表中添加另一個對象的情況下添加其他專長。 Doctor 和 RegisteredDoctor 類也是抽象的。

我可以通過添加專科醫生對象來添加專科

specialism.add(ScannerInput.validNextLine("Enter the Doctor's area of Speciality:  "));

doctors.addDoctor(new Specialist(name, dob, gender, address, contactNumber, isQualifiedInIreland, qualifications, specialism));

我有這些 getter 和 setter 方法,但無法從驅動程序訪問它們。

public HashSet<String> getSpecialism() {
    return specialism;
}

public void setSpecialism(HashSet<String> specialism) {
    this.specialism = specialism;
}

我需要能夠為現有的專科醫生對象添加多個專業。

謝謝。

這是非常糟糕的解釋(發生在你不確切知道你在尋找什么時)。 instanceOf 運算符是我正在尋找的答案,它使我能夠訪問我的一個子類中的 setSpecialism 方法。

    int index = ScannerInput.readNextInt("Enter Index of Doctor you want to update Specialisms: ");
    HashSet<String> spec = new HashSet<>();

    if (doctors.getDoctor(index) instanceof Specialist) {
        int num = ScannerInput.readNextInt("Enter how many Specialisms you want to add: ");
        for (int i = 0; i < num; i++) {
            String specUpdate = ScannerInput.validNextLine("Enter Specialism: ");
            spec.add(specUpdate);
        }
    }
    ((Specialist) doctors.getDoctor(index)).setSpecialism(spec);  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM