我有一个带有以下签名的方法:
public <T> T encode(String[] data, Class<T> type)
每当我调用它时,都会出现编译错误,例如:
The method encode(String[], Class<T>) is not applicable for the arguments (String, Class<Integer>)"
在这种情况下我传递Integer.class
。 (它为任何Object.class
)
根据我在通用方法中看到的情况,这应该有效,并使用Integer
作为T
。我做错了什么?
答案 0 :(得分:3)
您的错误消息说明了一切;你试图传入一个String,你的方法需要一个String数组。
方法编码( String [] ,Class)不适用于参数( String ,Class)