簡體   English   中英

類型已知,但方法指的是缺失的類型

[英]Type is known, but method refers to missing type

我對 java 和 Eclipse 不是很有經驗,我遇到了以下問題:

我正在寫這樣的東西:

Point3D myPoint = myClass.myMethod(arg);

我得到了錯誤:

方法 myMethod(myType arg) 指的是缺少的類型 Point3D。

但是,類Point3D是已知的,我可以Point3D創建這種類型的對象 ( Point3D ),並且我從自動完成中獲得了Point3D方法。

顯然,您在聲明方法的類中使用了與調用方法不同的Point3D實現。

轉到myMethod的聲明並檢查Point3DPoint3D的 import 語句是否與調用myMethod的類中的 import 語句相同。

我遇到了同樣的問題,我通過更改導入順序來解決它。 我將導致問題的類放在導入列表的頂部,在打包之后,IDE(VS 代碼)不會發出警報。

我有同樣的問題。 它通過將方法的返回值轉換為所需的類來解決 - 在您的情況下為 Point3D

    private static ConcurrentHashMap<Long,HotelInfHQ> HASH_HOTELINF = new  ConcurrentHashMap<Long,HotelInfHQ>();

////

public static HotelInfHQ getHotelInfByKey (Long key){   
    return (HotelInfHQ)HASH_HOTELINF.get(key);
}

在另一堂課上,電話就像

getHotelInfByKey(value);

盡管 ConcurrentHashMap HASH_HOTELINF 被參數化並且 Eclipse 沒有顯示返回字符串中的任何錯誤,但它在方法調用點返回什么類的對象並不明顯

可能取決於您的上下文,但在編譯之前我也遇到了同樣的問題。 通過最小化幾行來確保 Eclipse 沒有在程序頂部隱藏您的導入語句。 我不小心從以前的同名項目中導入了一個文件,它在頂部隱藏了導入語句:“import A3.BST;”。 只需展開以查看您的行並刪除導入語句,您應該沒問題。

如果您在沒有實際正確配置的情況下啟用了 Java 模塊系統,則會發生這種情況。 我決定移除 Java 模塊系統並僅使用 maven 依賴項。 在“Java Build Path”中確保正確定義了類路徑依賴項。

暫無
暫無

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

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