Java泛型的语法
我不熟悉使用Java泛型,并且面临语法方面的问题。我花了很长时间试图解决这个问题,在互联网和stackoverflow上读了很多文章,但没有找到解决办法。但我相信有办法解决这个问题- 所以我有如下的泛型类-Java泛型的语法,java,android,generics,android-volley,Java,Android,Generics,Android Volley,我不熟悉使用Java泛型,并且面临语法方面的问题。我花了很长时间试图解决这个问题,在互联网和stackoverflow上读了很多文章,但没有找到解决办法。但我相信有办法解决这个问题- 所以我有如下的泛型类- public class GsonRequest<T> extends Request<T> {} 如果我理解正确,您可以将所需类型作为方法参数传递: private <T> void makeGsonWebserviceRequest(/*...*/
public class GsonRequest<T> extends Request<T> {}
如果我理解正确,您可以将所需类型作为方法参数传递:
private <T> void makeGsonWebserviceRequest(/*...*/ Class<T> requiredType)
private void makeGsonWebserviceRequest(/*…*/Class requiredType)
然后将
jaisamadhiservicebaselistress.class
作为参数传递。最终GsonRequest
应该已经向您发出有关使用原始类型的警告。为什么这不是GsonRequest
?“如何将>作为泛型类型传递”到底是什么“>”?您希望您的泛型类型是什么?在您定义的方法中:final GsonRequest代码>-为什么不:最终GsonRequest请求代码>@Mark:我不知道应该用什么来代替它know@Bifz:makeGsonWebserviceResponse是一个方法,它将在多个位置被调用,每个类型不同的类都将在类型responseClassbro中传递,你太棒了!!
TypeToken<JaiSamadhiServiceBaseListResponse<JsContact>> responseTypeToken =
new TypeToken<JaiSamadhiServiceBaseListResponse<JsContact>>() {};
makeGsonWebserviceRequest(Request.Method.GET,
context.getString(R.string.BASEURL) + context.getString(R.string.GETCONTACTLIST),
null, responseTypeToken.getType(), createHeader(), successHandler, failureHandler);
public class JaiSamadhiServiceBaseListResponse<T> {
@SerializedName("Version")
protected String version;
@SerializedName("StatusCode")
protected int statusCode;
@SerializedName("ErrorMessage")
protected String errorMessage;
@SerializedName("Result")
protected ArrayList<T> result;
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public int getStatusCode() {
return statusCode;
}
public void setStatusCode(int statusCode) {
this.statusCode = statusCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
public ArrayList<T> getResult() {
return result;
}
public void setResult(ArrayList<T> result) {
this.result = result;
}
@Override
public String toString() {
return "JaiSamadhiServiceBaseObjectResponse{" +
"version='" + version + '\'' +
", statusCode=" + statusCode +
", errorMessage='" + errorMessage + '\'' +
", result=" + result +
'}';
}
}
private <T> void makeGsonWebserviceRequest(/*...*/ Class<T> requiredType)