Rumah > Java > Tidak dapat menyelesaikan kaedah - Intellij

Tidak dapat menyelesaikan kaedah - Intellij

WBOY
Lepaskan: 2024-02-22 14:07:06
ke hadapan
1513 orang telah melayarinya

editor php Yuzai memperkenalkan kepada anda topik artikel ini: Jawapan kepada soalan lazim dalam pengaturcaraan Java. Hari ini kita akan membincangkan salah satu masalah biasa dalam persekitaran pembangunan Intellij: tidak dapat menyelesaikan kaedah. Semasa pembangunan Java, menghadapi situasi di mana kaedah tidak dapat diselesaikan boleh menyebabkan sakit kepala, tetapi sebenarnya ia mungkin hanya masalah kecil. Seterusnya, kami akan memberikan anda analisis terperinci tentang kemungkinan punca masalah ini dan menyediakan penyelesaian untuk membantu anda memprogramkan dengan lebih lancar.

Kandungan soalan

Cuba untuk mengetahui sebab saya mendapat ralat "setobservationcode tidak pernah digunakan" dalam kaedah kedua. Coretan kedua menunjukkan tempat ujian unit digunakan. Dengan ujian unit ia memberi saya "Tidak dapat menyelesaikan kaedah 'setobservationcode' dalam ralat 'resourcehandler'. Saya melihat sesetengah orang mengatakan mereka menyelesaikan ralat dengan membatalkan cache dan memulakan semula tetapi itu tidak berfungsi untuk saya.

public class ResourceHandlerTest extends TestCase {

    FhirContext ctx = null;
    IParser parser = null;

    // Other methods...

    public String getId(Resource resource) {
        if (resource.getIdElement() != null) {
            // Use IdType to extract the ID without additional details such as base URL or resource type.
            IdType idType = resource.getIdElement();
            return idType.getIdPart();
        } else {
            // Handle the case where the resource does not have an ID.
            return null; // Or throw an exception, depending on your requirements.
        }
    }

    public Observation setObservationCode(Observation observation, Coding coding) {
        if (observation.getCode() == null) {
            observation.setCode(new CodeableConcept().addCoding(coding));
        } else {
            observation.getCode().addCoding(coding);
        }
        return observation;
    }

    
public Observation setObservationCode(Observation observation, Coding coding) {
            if (observation.getCode() == null) {
                observation.setCode(new CodeableConcept().addCoding(coding));
            } else {
                observation.getCode().addCoding(coding);
            }
            return observation;
        }
    
      public Observation setObservationCode(Observation observation, String system, String code, String display) {
            System.out.println("Debug: Observation Before - " + observation);
    
            System.out.println("Debug: System - " + system);
            System.out.println("Debug: Code - " + code);
            System.out.println("Debug: Display - " + display);
    
            Coding coding = new Coding().setSystem(system).setCode(code).setDisplay(display);
    
            return setObservationCode(observation, coding);
        }

-----------------------------------------------------------------------------------------------

    public void testSetObservationCode() throws Exception {
            if (ctx == null) ctx = FhirContext.forR4();
            if (parser == null) parser = ctx.newJsonParser();
    
            String observationJsonFile = "src/resources/observation.json";
            String observationJson = "";
            try {
                observationJson = new String(Files.readAllBytes(Paths.get(observationJsonFile)));
            }
            catch (Exception e) { System.err.println("Failed to read observation.json file."); }
    
            Observation correctObservation = parser.parseResource(Observation.class, observationJson);
    
            ResourceHandler studentResourceHandler = new ResourceHandler();
    
            String expectedSystem = "http://example.com/system";
            String expectedCode = "12345";
            String expectedDisplay = "Test Code";
    
            Coding coding = new Coding().setSystem(expectedSystem).setCode(expectedCode).setDisplay(expectedDisplay);
            Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
    
            assertEquals(expectedSystem, modifiedObservation.getCode().getCodingFirstRep().getSystem());
            assertEquals(expectedCode, modifiedObservation.getCode().getCodingFirstRep().getCode());
            assertEquals(expectedDisplay, modifiedObservation.getCode().getCodingFirstRep().getDisplay());
    
        }
Salin selepas log masuk

Penyelesaian

Anda memanggil kaedah pertama dalam ujian anda, tetapi bukan kaedah kedua.

Barisan terakhir dalam ujian, baris 4, mempunyai 2 parameter, ini adalah parameter pertama. Oleh itu intellij tidak dapat mengesan penggunaan yang kedua.

Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
Salin selepas log masuk

Lihat struktur blok kod utama, sebaiknya anda memanggil definisi kedua (dengan 4 parameter) yang memanggil definisi lain.

Atas ialah kandungan terperinci Tidak dapat menyelesaikan kaedah - Intellij. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan