Heim > Java > Methode kann nicht aufgelöst werden – Intellij

Methode kann nicht aufgelöst werden – Intellij

WBOY
Freigeben: 2024-02-22 14:07:06
nach vorne
1519 Leute haben es durchsucht

PHP-Redakteur Yuzai stellt Ihnen das Thema dieses Artikels vor: Antworten auf häufig gestellte Fragen zur Java-Programmierung. Heute werden wir eines der häufigsten Probleme in der Intellij-Entwicklungsumgebung besprechen: Methoden können nicht aufgelöst werden. Während der Java-Entwicklung kann eine Situation, in der eine Methode nicht aufgelöst werden kann, Kopfschmerzen bereiten, aber in Wirklichkeit handelt es sich höchstwahrscheinlich nur um ein kleines Problem. Als nächstes werden wir Ihnen eine detaillierte Analyse der möglichen Ursachen dieses Problems liefern und Lösungen anbieten, die Ihnen helfen, reibungsloser zu programmieren.

Frageninhalt

Ich versuche herauszufinden, warum ich bei der zweiten Methode den Fehler „setobservationcode is neverused“ erhalte. Der zweite Ausschnitt zeigt, wo Unit-Tests verwendet werden. Beim Unit-Testen erhalte ich den Fehler „Die Methode ‚setobservationcode‘ konnte nicht in ‚resourcehandler‘ aufgelöst werden“. Ich habe einige Leute gesehen, die sagten, sie hätten den Fehler gelöst, indem sie den Cache ungültig gemacht und neu gestartet hätten, aber das hat bei mir nicht funktioniert.

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());
    
        }
Nach dem Login kopieren

Workaround

Sie rufen die erste Methode in Ihrem Test auf, aber nicht die zweite Methode.

Die letzte Zeile im Test, Zeile 4, hat 2 Parameter, dies ist der erste Parameter. Daher kann Intellij die Verwendung des zweiten nicht erkennen.

Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
Nach dem Login kopieren

Schauen Sie sich die Struktur des Hauptcodeblocks an. Idealerweise sollten Sie die zweite Definition (mit 4 Parametern) aufrufen, die eine andere Definition aufruft.

Das obige ist der detaillierte Inhalt vonMethode kann nicht aufgelöst werden – Intellij. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage