Map をフィールド変数として使用するクラスがあります。
private Map<String, ?> posts;
そして、同じクラスにジェネリック メソッドがあります。
public <T> void log(T message) {
if (isEnabled) {
Date time = Calendar.getInstance().getTime();
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss:SS");
posts.put(sdf.format(time.getTime()), message);
}
}
ただし、posts.put ステートメントで次のようなコンパイラ エラーが発生します。
The method put(String, capture#2-of ?) in the type Map<String,capture#2-of ?> is not
applicable for the arguments (String, T)
私はワイルドカードとジェネリックメソッドに少し慣れていないので、何が間違っていますか?