簡體   English   中英

Java泛型 - 類型參數String隱藏類型String

[英]Java generics - The type parameter String is hiding the type String

在我的界面中:

public <T> Result query(T query)

在我的第一個子類中:

public <HashMap> Result query(HashMap queryMap)

在我的第二個子類中:

public <String> Result query(String queryStr)

第一個子類根本沒有編譯警告,而第二個子類有:類型參數String隱藏類型String? 我理解我的參數被泛型類型隱藏了。 但是我想知道究竟發生了什么?

它認為你正在嘗試創建一個類型參數 - 一個變量 - 其名稱為String 我懷疑你的第一個子類根本不導入java.util.HashMap

在任何情況下,如果T是您的接口的類型參數 - 它可能應該是 - 那么您根本不應該在子類中包含<String> 它應該是

public interface Interface<T> {
  public Result query(T query);
}

public class Subclass implements Interface<String> {
  ...
  public Result query(String queryStr) { 
    ...
  }
}

暫無
暫無

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

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