ホームページ > Java > メソッドを解決できません - Intellij

メソッドを解決できません - Intellij

WBOY
リリース: 2024-02-22 14:07:06
転載
1507 人が閲覧しました

php エディターの Yuzai が、この記事のテーマ「Java プログラミングに関するよくある質問への回答」を紹介します。今日は、Intellij 開発環境でよくある問題の 1 つであるメソッドを解決できないことについて説明します。 Java 開発中に、メソッドを解決できない状況に遭遇すると頭痛の種になることがありますが、実際には、それは単なる小さな問題である可能性がほとんどです。次に、この問題の考えられる原因を詳細に分析し、よりスムーズにプログラミングするための解決策を提供します。

質問の内容

2 番目の方法で「setobservationcode is Neverused」エラーが発生する理由を理解しようとしています。 2 番目のスニペットは、単体テストが使用される場所を示しています。単体テストでは、「'resourcehandler' のメソッド 'setobservationcode' を解決できません」というエラーが表示されます。キャッシュを無効にして再起動することでエラーを解決したと言っている人もいましたが、私にはうまくいきませんでした。

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());
    
        }
ログイン後にコピー

回避策

テストで最初のメソッドを呼び出しましたが、2 番目のメソッドを呼び出しませんでした。

テストの最後の行、行 4 には 2 つのパラメーターがあり、これが最初のパラメーターです。したがって、intellij は 2 番目の使用を検出できません。

リーリー

メイン コード ブロックの構造を見ると、理想的には 2 番目の定義 (4 つのパラメーター) を呼び出し、次に別の定義を呼び出す必要があります。

以上がメソッドを解決できません - Intellijの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート